Code Submission Evaluation System Login

NOI 2019 Open

Start:N/A
End:N/A
 

Tasks | Scoreboard | Statistics


CSES - NOI 2019 Open - Results
History
3:32:28100
3:29:540
Task:Distance Code
Sender:egor.lifar
Submission time:2019-03-09 23:58:44
Language:C++
Status:READY
Score:100

Feedback

groupverdictscore
#1ACCEPTED21
#2ACCEPTED47
#3ACCEPTED32

Test results

testverdicttime (s)group
#1ACCEPTED0.03 / 1.001, 2, 3details
#2ACCEPTED0.02 / 1.001, 2, 3details
#3ACCEPTED0.03 / 1.001, 2, 3details
#4ACCEPTED0.02 / 1.001, 2, 3details
#5ACCEPTED0.02 / 1.001, 2, 3details
#6ACCEPTED0.02 / 1.001, 2, 3details
#7ACCEPTED0.01 / 1.001, 2, 3details
#8ACCEPTED0.01 / 1.001, 2, 3details
#9ACCEPTED0.03 / 1.001, 2, 3details
#10ACCEPTED0.02 / 1.001, 2, 3details
#11ACCEPTED0.03 / 1.001, 2, 3details
#12ACCEPTED0.02 / 1.002, 3details
#13ACCEPTED0.02 / 1.002, 3details
#14ACCEPTED0.02 / 1.002, 3details
#15ACCEPTED0.02 / 1.002, 3details
#16ACCEPTED0.04 / 1.003details
#17ACCEPTED0.05 / 1.003details
#18ACCEPTED0.04 / 1.003details
#19ACCEPTED0.06 / 1.003details
#20ACCEPTED0.01 / 1.001, 2, 3details

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 y2228
const 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

view   save

correct output
(empty)

user output
2 1

view   save

Test 2

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
3
3 1
2 1

view   save

correct output
(empty)

user output
2 1
2 3

view   save

Test 3

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
4
3 2
2 1
4 1
view   save

correct output
(empty)

user output
2 1
3 2
3 4

view   save

Test 4

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
4
2 3
3 4
1 3
view   save

correct output
(empty)

user output
2 1
4 2
2 3

view   save

Test 5

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
5
3 5
4 1
1 3
...
view   save

correct output
(empty)

user output
2 1
3 2
3 4
4 5

view   save

Test 6

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
5
3 2
3 4
5 1
...
view   save

correct output
(empty)

user output
2 1
2 3
3 4
3 5

view   save

Test 7

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
5
4 3
1 4
4 2
...
view   save

correct output
(empty)

user output
2 1
5 2
2 3
2 4

view   save

Test 8

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
10
9 3
8 9
2 9
...
view   save

correct output
(empty)

user output
2 1
10 2
2 3
2 4
2 5
...
view   save

Test 9

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
10
9 2
5 8
7 1
...
view   save

correct output
(empty)

user output
2 1
3 2
4 3
5 4
6 5
...
view   save

Test 10

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
10
10 4
9 1
4 7
...
view   save

correct output
(empty)

user output
2 1
2 3
3 4
2 5
5 6
...
view   save

Test 11

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
10
2 6
4 3
3 5
...
view   save

correct output
(empty)

user output
2 1
3 2
4 3
5 4
6 5
...
view   save

Test 12

Group: 2, 3

Verdict: ACCEPTED

input
1
500
10 6
6 255
6 428
...
view   save

correct output
(empty)

user output
2 1
500 2
2 3
2 4
2 5
...
view   save

Test 13

Group: 2, 3

Verdict: ACCEPTED

input
1
500
152 466
451 313
158 479
...
view   save

correct output
(empty)

user output
2 1
3 2
4 3
5 4
6 5
...
view   save

Test 14

Group: 2, 3

Verdict: ACCEPTED

input
1
500
109 440
330 190
443 161
...
view   save

correct output
(empty)

user output
2 1
2 3
3 4
4 5
4 6
...
view   save

Test 15

Group: 2, 3

Verdict: ACCEPTED

input
1
500
144 373
257 233
341 318
...
view   save

correct output
(empty)

user output
2 1
3 2
4 3
5 4
6 5
...
view   save

Test 16

Group: 3

Verdict: ACCEPTED

input
1
100000
54983 75172
93807 75172
44082 75172
...
view   save

correct output
(empty)

user output
2 1
100000 2
2 3
2 4
2 5
...
view   save

Test 17

Group: 3

Verdict: ACCEPTED

input
1
100000
88863 19059
86423 76688
98536 95984
...
view   save

correct output
(empty)

user output
2 1
3 2
4 3
5 4
6 5
...
view   save

Test 18

Group: 3

Verdict: ACCEPTED

input
1
100000
59979 6389
19097 24999
27846 82330
...
view   save

correct output
(empty)

user output
2 1
2 3
3 4
4 5
4 6
...
view   save

Test 19

Group: 3

Verdict: ACCEPTED

input
1
100000
58761 66001
25102 51081
98625 67861
...
view   save

correct output
(empty)

user output
2 1
3 2
4 3
5 4
6 5
...
view   save

Test 20

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
6
2 1
3 2
4 2
...
view   save

correct output
(empty)

user output
2 1
4 2
2 3
6 4
4 5
view   save