Task: | Distance Code |
Sender: | egor.lifar |
Submission time: | 2019-03-09 23:58:44 +0200 |
Language: | C++ |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 21 |
#2 | ACCEPTED | 47 |
#3 | ACCEPTED | 32 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.03 s | 1, 2, 3 | details |
#2 | ACCEPTED | 0.02 s | 1, 2, 3 | details |
#3 | ACCEPTED | 0.03 s | 1, 2, 3 | details |
#4 | ACCEPTED | 0.02 s | 1, 2, 3 | details |
#5 | ACCEPTED | 0.02 s | 1, 2, 3 | details |
#6 | ACCEPTED | 0.02 s | 1, 2, 3 | details |
#7 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#8 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#9 | ACCEPTED | 0.03 s | 1, 2, 3 | details |
#10 | ACCEPTED | 0.02 s | 1, 2, 3 | details |
#11 | ACCEPTED | 0.03 s | 1, 2, 3 | details |
#12 | ACCEPTED | 0.02 s | 2, 3 | details |
#13 | ACCEPTED | 0.02 s | 2, 3 | details |
#14 | ACCEPTED | 0.02 s | 2, 3 | details |
#15 | ACCEPTED | 0.02 s | 2, 3 | details |
#16 | ACCEPTED | 0.04 s | 3 | details |
#17 | ACCEPTED | 0.05 s | 3 | details |
#18 | ACCEPTED | 0.04 s | 3 | details |
#19 | ACCEPTED | 0.06 s | 3 | details |
#20 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
Code
/*ЗАПУСКАЕМ░ГУСЯ░▄▀▀▀▄░РАБОТЯГУ░░▄███▀░◐░░░▌░░░░░░░░░░░▌░░░░░▐░░░░░░░░░░░▐░░░░░▐░░░░░░░░░░░▐░░░░░▐░░░░░░░░░░░▐░░░░░▐░░░░░░░░░░░▐░░░░░▐░░░░░░░░░░░▐░░░░░▐░░░░░░░░░░░▐░░░░░▐░░░░░░░░░░░▐░░░░░▐░░░░░░░░░░░▐░░░░░▐░░░░░░░░░░░▌░░░░░▐▄▄░░░░░░░░░▌░░░░▄▀▒▒▀▀▀▀▄░░░▐░░░░▐▒▒▒▒▒▒▒▒▀▀▄░░░▐░░░░▐▄▒▒▒▒▒▒▒▒▒▒▀▄░░░░▀▄░░░░▀▄▒▒▒▒▒▒▒▒▒▒▀▄░░░░░░▀▄▄▄▄▄█▄▄▄▄▄▄▄▄▄▄▄▀▄░░░░░░░░░░░▌▌░▌▌░░░░░░░░░░░░░░░░▌▌░▌▌░░░░░░░░░░░░░░▄▄▌▌▄▌▌░░░░░*/#include <iostream>#include <complex>#include <vector>#include <string>#include <algorithm>#include <cstdio>#include <numeric>#include <cstring>#include <ctime>#include <cstdlib>#include <set>#include <map>#include <unordered_map>#include <unordered_set>#include <list>#include <cmath>#include <bitset>#include <cassert>#include <queue>#include <stack>#include <deque>using namespace std;template<typename T1, typename T2> inline void chkmin(T1 &a, T2 b) {if (a > b) a = b;}template<typename T1, typename T2> inline void chkmax(T1 &a, T2 b) {if (a < b) a = b;}#define files(FILENAME) read(FILENAME); write(FILENAME)#define read(FILENAME) freopen((FILENAME + ".in").c_str(), "r", stdin)#define write(FILENAME) freopen((FILENAME + ".out").c_str(), "w", stdout)#define all(c) (c).begin(), (c).end()#define sz(c) (int)(c).size()#define left left228#define right right228#define y1 y1228#define mp make_pair#define pb push_back#define y2 y2228const string FILENAME = "input";const int MAXN = 100228;int n;vector<int> g[MAXN];vector<int> order;void dfs(int u, int pr = -1) {for (auto h: g[u]) {if (h != pr) {dfs(h, u);}}order.pb(u);}int dist[MAXN];int uk = 2;int pr[MAXN];int id = -1;void dfs1(int u) {id++;if (dist[id] == 0) {return;}//cout << dist[id] << endl;if (dist[id] == 1) {if (pr[u]) {dfs1(pr[u]);} else {pr[u] = uk;uk++;dfs1(pr[u]);}} else {if (!pr[u]) {pr[u] = uk;uk++;}int last = pr[u];for (int f = 1; f < dist[id]; f++) {pr[uk] = last;last = uk;uk++;}dfs1(last);}}int main() {ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);//read(FILENAME);int t;cin >> t;if (t == 1) {cin >> n;for (int i = 0; i < n - 1; i++) {int a, b;cin >> a >> b;g[a].pb(b);g[b].pb(a);}dfs(1);for (int i = 0; i < n; i++) {cout << order[i] << ' ';}cout << '\n';} else {cin >> n;for (int i = 0; i < n - 1; i++) {cin >> dist[i];}dfs1(1);for (int i = 1; i <= n; i++) {if (pr[i] != 0) {cout << pr[i] << ' ' << i << '\n';}}}return 0;}
Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
1 2 2 1 |
correct output |
---|
(empty) |
user output |
---|
2 1 |
Test 2
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
1 3 3 1 2 1 |
correct output |
---|
(empty) |
user output |
---|
2 1 2 3 |
Test 3
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
1 4 3 2 2 1 4 1 |
correct output |
---|
(empty) |
user output |
---|
2 1 3 2 3 4 |
Test 4
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
1 4 2 3 3 4 1 3 |
correct output |
---|
(empty) |
user output |
---|
2 1 4 2 2 3 |
Test 5
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
1 5 3 5 4 1 1 3 ... |
correct output |
---|
(empty) |
user output |
---|
2 1 3 2 3 4 4 5 |
Test 6
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
1 5 3 2 3 4 5 1 ... |
correct output |
---|
(empty) |
user output |
---|
2 1 2 3 3 4 3 5 |
Test 7
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
1 5 4 3 1 4 4 2 ... |
correct output |
---|
(empty) |
user output |
---|
2 1 5 2 2 3 2 4 |
Test 8
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
1 10 9 3 8 9 2 9 ... |
correct output |
---|
(empty) |
user output |
---|
2 1 10 2 2 3 2 4 2 5 ... |
Test 9
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
1 10 9 2 5 8 7 1 ... |
correct output |
---|
(empty) |
user output |
---|
2 1 3 2 4 3 5 4 6 5 ... |
Test 10
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
1 10 10 4 9 1 4 7 ... |
correct output |
---|
(empty) |
user output |
---|
2 1 2 3 3 4 2 5 5 6 ... |
Test 11
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
1 10 2 6 4 3 3 5 ... |
correct output |
---|
(empty) |
user output |
---|
2 1 3 2 4 3 5 4 6 5 ... |
Test 12
Group: 2, 3
Verdict: ACCEPTED
input |
---|
1 500 10 6 6 255 6 428 ... |
correct output |
---|
(empty) |
user output |
---|
2 1 500 2 2 3 2 4 2 5 ... Truncated |
Test 13
Group: 2, 3
Verdict: ACCEPTED
input |
---|
1 500 152 466 451 313 158 479 ... |
correct output |
---|
(empty) |
user output |
---|
2 1 3 2 4 3 5 4 6 5 ... Truncated |
Test 14
Group: 2, 3
Verdict: ACCEPTED
input |
---|
1 500 109 440 330 190 443 161 ... |
correct output |
---|
(empty) |
user output |
---|
2 1 2 3 3 4 4 5 4 6 ... Truncated |
Test 15
Group: 2, 3
Verdict: ACCEPTED
input |
---|
1 500 144 373 257 233 341 318 ... |
correct output |
---|
(empty) |
user output |
---|
2 1 3 2 4 3 5 4 6 5 ... Truncated |
Test 16
Group: 3
Verdict: ACCEPTED
input |
---|
1 100000 54983 75172 93807 75172 44082 75172 ... |
correct output |
---|
(empty) |
user output |
---|
2 1 100000 2 2 3 2 4 2 5 ... Truncated |
Test 17
Group: 3
Verdict: ACCEPTED
input |
---|
1 100000 88863 19059 86423 76688 98536 95984 ... |
correct output |
---|
(empty) |
user output |
---|
2 1 3 2 4 3 5 4 6 5 ... Truncated |
Test 18
Group: 3
Verdict: ACCEPTED
input |
---|
1 100000 59979 6389 19097 24999 27846 82330 ... |
correct output |
---|
(empty) |
user output |
---|
2 1 2 3 3 4 4 5 4 6 ... Truncated |
Test 19
Group: 3
Verdict: ACCEPTED
input |
---|
1 100000 58761 66001 25102 51081 98625 67861 ... |
correct output |
---|
(empty) |
user output |
---|
2 1 3 2 4 3 5 4 6 5 ... Truncated |
Test 20
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
1 6 2 1 3 2 4 2 ... |
correct output |
---|
(empty) |
user output |
---|
2 1 4 2 2 3 6 4 4 5 |