CSES - Datatähti 2020 loppu - Results
Submission details
Task:Kierrokset
Sender:Juho Röyskö
Submission time:2020-02-09 15:14:23 +0200
Language:C++ (C++11)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
#40
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2, 4details
#2ACCEPTED0.01 s1, 4details
#3ACCEPTED0.01 s1, 4details
#4ACCEPTED0.01 s1, 4details
#5ACCEPTED0.01 s2, 4details
#6ACCEPTED0.01 s4details
#7ACCEPTED0.01 s4details
#8ACCEPTED0.01 s4details
#9ACCEPTED0.01 s2, 4details
#10ACCEPTED0.01 s4details
#11ACCEPTED0.01 s4details
#12ACCEPTED0.01 s4details
#13ACCEPTED0.01 s2, 4details
#14ACCEPTED0.01 s4details
#15ACCEPTED0.01 s4details
#16ACCEPTED0.01 s4details
#17ACCEPTED0.01 s2, 4details
#18ACCEPTED0.01 s4details
#19ACCEPTED0.01 s4details
#20ACCEPTED0.01 s4details
#21ACCEPTED0.02 s2, 4details
#22ACCEPTED0.02 s4details
#23ACCEPTED0.02 s4details
#24ACCEPTED0.02 s4details
#25ACCEPTED0.05 s2, 4details
#26ACCEPTED0.10 s4details
#27ACCEPTED0.09 s4details
#28ACCEPTED0.10 s4details
#29ACCEPTED0.01 s1, 2, 3, 4details
#30ACCEPTED0.01 s1, 2, 3, 4details
#31ACCEPTED0.01 s1, 2, 3, 4details
#32ACCEPTED0.01 s1, 2, 4details
#330.01 s1, 2, 3, 4details
#34ACCEPTED0.01 s1, 2, 4details
#35ACCEPTED0.01 s1, 2, 4details
#36ACCEPTED0.01 s1, 3, 4details
#37ACCEPTED0.01 s1, 4details
#38ACCEPTED0.01 s1, 4details
#39ACCEPTED0.01 s1, 4details
#40ACCEPTED0.01 s1, 4details
#41ACCEPTED0.01 s1, 4details
#42ACCEPTED0.01 s1, 4details
#43ACCEPTED0.01 s1, 4details
#44ACCEPTED0.01 s1, 4details
#45ACCEPTED0.01 s1, 4details
#46ACCEPTED0.01 s1, 2, 4details
#47ACCEPTED0.01 s1, 2, 3, 4details
#48ACCEPTED0.01 s1, 2, 3, 4details
#49ACCEPTED0.01 s1, 2, 4details
#50ACCEPTED0.01 s1, 4details
#51ACCEPTED0.07 s2, 4details
#52ACCEPTED0.06 s2, 3, 4details
#53ACCEPTED0.06 s2, 3, 4details
#540.06 s2, 3, 4details
#55ACCEPTED0.07 s2, 4details
#56ACCEPTED0.07 s2, 4details
#57ACCEPTED0.07 s2, 4details
#58ACCEPTED0.07 s2, 4details
#59ACCEPTED0.07 s2, 4details
#60ACCEPTED0.07 s2, 4details
#61ACCEPTED0.07 s2, 4details
#62ACCEPTED0.07 s2, 4details
#63ACCEPTED0.11 s4details
#64ACCEPTED0.11 s4details
#65ACCEPTED0.12 s4details
#66ACCEPTED0.11 s4details
#67ACCEPTED0.10 s4details
#68ACCEPTED0.10 s4details
#69ACCEPTED0.10 s4details
#70ACCEPTED0.10 s4details
#71ACCEPTED0.12 s4details
#72ACCEPTED0.12 s4details
#730.10 s3, 4details
#740.10 s3, 4details
#75ACCEPTED0.10 s3, 4details
#76ACCEPTED0.10 s3, 4details
#77ACCEPTED0.10 s3, 4details
#78ACCEPTED0.10 s3, 4details
#79ACCEPTED0.10 s3, 4details
#80ACCEPTED0.10 s3, 4details
#81ACCEPTED0.10 s3, 4details
#82ACCEPTED0.10 s3, 4details
#83ACCEPTED0.10 s2, 4details
#84ACCEPTED0.10 s2, 4details
#85ACCEPTED0.01 s1, 2, 4details
#86ACCEPTED0.01 s1, 2, 4details

Code

#include <bits/stdc++.h>
using namespace std;
using ll = long long;

const int M = 1e9 + 7;
vector<int> v[202020];
bool d[202020];

bool search1(int x, int y, int p) {
	if (x == y) return true;
	for (int z : v[x]) {
		if (z == p) continue;

		d[z] = 1;
		if (search1(z, y, x)) return true;
		d[z] = 0;
	}
	return false;
}

ll search2(int x, int p) {
	ll s = 1;
	if (!d[x] && v[x].size() == 1) return 1;
	for (int z : v[x]) {
		if (d[z] || z == p) continue;

		if (v[x].size() == 2) return 1 + search2(z, x);
		else s *= search2(z, x)+1;
		s %= M;
	}
	return s;
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);

	int n, x, y;
	cin >> n >> x >> y;

	for (int i = 1; i < n; ++i) {
		int a, b;
		cin >> a >> b;

		v[a].push_back(b);
		v[b].push_back(a);
	}

	d[x] = true;
	d[y] = true;
	search1(x, y, 0);

	ll s = 1;
	for (int i = 1; i <= n; ++i) {
		if (d[i]) {
			s *= search2(i, 0);
			s %= M;
		}
	}
	cout << s << '\n';
}

Test details

Test 1

Group: 1, 2, 4

Verdict: ACCEPTED

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

correct output
25

user output
25

Test 2

Group: 1, 4

Verdict: ACCEPTED

input
10 8 1
10 7
7 3
8 7
10 9
...

correct output
36

user output
36

Test 3

Group: 1, 4

Verdict: ACCEPTED

input
10 10 5
1 6
2 6
2 4
7 2
...

correct output
36

user output
36

Test 4

Group: 1, 4

Verdict: ACCEPTED

input
10 7 9
9 6
9 1
1 8
9 2
...

correct output
48

user output
48

Test 5

Group: 2, 4

Verdict: ACCEPTED

input
50 46 14
1 2
2 3
3 4
4 5
...

correct output
70

user output
70

Test 6

Group: 4

Verdict: ACCEPTED

input
50 49 14
27 13
27 50
5 27
30 5
...

correct output
535291010

user output
535291010

Test 7

Group: 4

Verdict: ACCEPTED

input
50 46 18
24 45
3 24
24 25
32 45
...

correct output
250065865

user output
250065865

Test 8

Group: 4

Verdict: ACCEPTED

input
50 39 9
4 50
5 50
4 28
17 4
...

correct output
145500013

user output
145500013

Test 9

Group: 2, 4

Verdict: ACCEPTED

input
250 166 226
1 2
2 3
3 4
4 5
...

correct output
4150

user output
4150

Test 10

Group: 4

Verdict: ACCEPTED

input
250 104 224
118 137
189 118
127 189
132 189
...

correct output
230001327

user output
230001327

Test 11

Group: 4

Verdict: ACCEPTED

input
250 20 113
100 108
220 108
220 228
62 108
...

correct output
734434924

user output
734434924

Test 12

Group: 4

Verdict: ACCEPTED

input
250 116 21
221 16
221 223
22 16
16 79
...

correct output
273467702

user output
273467702

Test 13

Group: 2, 4

Verdict: ACCEPTED

input
1250 556 801
1 2
2 3
3 4
4 5
...

correct output
250200

user output
250200

Test 14

Group: 4

Verdict: ACCEPTED

input
1250 1115 100
952 651
952 289
166 952
166 871
...

correct output
600544658

user output
600544658

Test 15

Group: 4

Verdict: ACCEPTED

input
1250 657 79
13 420
13 346
13 287
1210 420
...

correct output
813695503

user output
813695503

Test 16

Group: 4

Verdict: ACCEPTED

input
1250 214 271
522 351
140 351
805 351
522 431
...

correct output
212897427

user output
212897427

Test 17

Group: 2, 4

Verdict: ACCEPTED

input
6250 4685 392
1 2
2 3
3 4
4 5
...

correct output
613872

user output
613872

Test 18

Group: 4

Verdict: ACCEPTED

input
6250 5270 5866
5282 4610
5282 1160
4610 1967
2502 5282
...

correct output
423709118

user output
423709118

Test 19

Group: 4

Verdict: ACCEPTED

input
6250 6162 514
4663 2181
6136 2181
6136 3161
3161 2803
...

correct output
949879698

user output
949879698

Test 20

Group: 4

Verdict: ACCEPTED

input
6250 1522 4950
1937 2721
4518 2721
1937 2231
1937 771
...

correct output
152101730

user output
152101730

Test 21

Group: 2, 4

Verdict: ACCEPTED

input
31250 28710 19769
1 2
2 3
3 4
4 5
...

correct output
50233029

user output
50233029

Test 22

Group: 4

Verdict: ACCEPTED

input
31250 27848 22747
16893 8747
18910 16893
30376 16893
23945 18910
...

correct output
522494382

user output
522494382

Test 23

Group: 4

Verdict: ACCEPTED

input
31250 6703 20415
23779 14085
23779 9341
14085 28511
14085 23151
...

correct output
615059214

user output
615059214

Test 24

Group: 4

Verdict: ACCEPTED

input
31250 26948 21755
344 12546
12546 11641
11641 1883
9152 12546
...

correct output
614062321

user output
614062321

Test 25

Group: 2, 4

Verdict: ACCEPTED

input
156250 71359 63141
1 2
2 3
3 4
4 5
...

correct output
360165737

user output
360165737

Test 26

Group: 4

Verdict: ACCEPTED

input
156250 132945 97315
139434 74332
121914 74332
31473 121914
20412 139434
...

correct output
901028288

user output
901028288

Test 27

Group: 4

Verdict: ACCEPTED

input
156250 85489 5733
140340 76749
140340 98734
76749 30645
76749 72109
...

correct output
38533849

user output
38533849

Test 28

Group: 4

Verdict: ACCEPTED

input
156250 143710 49348
65050 143666
143666 47977
143666 35254
47977 99013
...

correct output
615178214

user output
615178214

Test 29

Group: 1, 2, 3, 4

Verdict: ACCEPTED

input
1 1 1

correct output
1

user output
1

Test 30

Group: 1, 2, 3, 4

Verdict: ACCEPTED

input
2 1 1
1 2

correct output
2

user output
2

Test 31

Group: 1, 2, 3, 4

Verdict: ACCEPTED

input
2 2 2
1 2

correct output
2

user output
2

Test 32

Group: 1, 2, 4

Verdict: ACCEPTED

input
2 1 2
1 2

correct output
1

user output
1

Test 33

Group: 1, 2, 3, 4

Verdict:

input
3 2 2
1 2
2 3

correct output
4

user output
2

Test 34

Group: 1, 2, 4

Verdict: ACCEPTED

input
3 1 2
1 2
2 3

correct output
2

user output
2

Test 35

Group: 1, 2, 4

Verdict: ACCEPTED

input
3 1 3
1 2
2 3

correct output
1

user output
1

Test 36

Group: 1, 3, 4

Verdict: ACCEPTED

input
10 4 4
1 2
1 3
3 4
1 5
...

correct output
99

user output
99

Test 37

Group: 1, 4

Verdict: ACCEPTED

input
10 7 2
1 2
1 3
1 4
2 5
...

correct output
32

user output
32

Test 38

Group: 1, 4

Verdict: ACCEPTED

input
10 2 4
1 2
1 3
1 4
2 5
...

correct output
72

user output
72

Test 39

Group: 1, 4

Verdict: ACCEPTED

input
10 4 8
1 2
2 3
3 4
2 5
...

correct output
32

user output
32

Test 40

Group: 1, 4

Verdict: ACCEPTED

input
10 3 1
1 2
1 3
1 4
2 5
...

correct output
108

user output
108

Test 41

Group: 1, 4

Verdict: ACCEPTED

input
10 7 8
1 2
2 3
2 4
3 5
...

correct output
15

user output
15

Test 42

Group: 1, 4

Verdict: ACCEPTED

input
10 4 10
1 2
1 3
3 4
4 5
...

correct output
40

user output
40

Test 43

Group: 1, 4

Verdict: ACCEPTED

input
10 3 1
1 2
2 3
2 4
2 5
...

correct output
96

user output
96

Test 44

Group: 1, 4

Verdict: ACCEPTED

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

correct output
40

user output
40

Test 45

Group: 1, 4

Verdict: ACCEPTED

input
10 2 1
1 2
1 3
3 4
4 5
...

correct output
30

user output
30

Test 46

Group: 1, 2, 4

Verdict: ACCEPTED

input
10 1 10
1 2
2 3
3 4
4 5
...

correct output
1

user output
1

Test 47

Group: 1, 2, 3, 4

Verdict: ACCEPTED

input
3 1 1
1 2
2 3

correct output
3

user output
3

Test 48

Group: 1, 2, 3, 4

Verdict: ACCEPTED

input
3 3 3
1 2
2 3

correct output
3

user output
3

Test 49

Group: 1, 2, 4

Verdict: ACCEPTED

input
3 2 3
1 2
2 3

correct output
2

user output
2

Test 50

Group: 1, 4

Verdict: ACCEPTED

input
7 2 5
2 7
5 7
2 1
5 3
...

correct output
16

user output
16

Test 51

Group: 2, 4

Verdict: ACCEPTED

input
200000 1 200000
1 2
2 3
3 4
4 5
...

correct output
1

user output
1

Test 52

Group: 2, 3, 4

Verdict: ACCEPTED

input
200000 1 1
1 2
2 3
3 4
4 5
...

correct output
200000

user output
200000

Test 53

Group: 2, 3, 4

Verdict: ACCEPTED

input
200000 200000 200000
1 2
2 3
3 4
4 5
...

correct output
200000

user output
200000

Test 54

Group: 2, 3, 4

Verdict:

input
200000 100000 100000
1 2
2 3
3 4
4 5
...

correct output
99930

user output
100000

Test 55

Group: 2, 4

Verdict: ACCEPTED

input
200000 37563 118902
1 2
2 3
3 4
4 5
...

correct output
46321716

user output
46321716

Test 56

Group: 2, 4

Verdict: ACCEPTED

input
200000 50775 167353
1 2
2 3
3 4
4 5
...

correct output
657702193

user output
657702193

Test 57

Group: 2, 4

Verdict: ACCEPTED

input
200000 146383 37930
1 2
2 3
3 4
4 5
...

correct output
33730726

user output
33730726

Test 58

Group: 2, 4

Verdict: ACCEPTED

input
200000 139297 64408
1 2
2 3
3 4
4 5
...

correct output
909823211

user output
909823211

Test 59

Group: 2, 4

Verdict: ACCEPTED

input
200000 96291 60612
1 2
2 3
3 4
4 5
...

correct output
286070478

user output
286070478

Test 60

Group: 2, 4

Verdict: ACCEPTED

input
199999 132295 169486
1 2
2 3
3 4
4 5
...

correct output
36849602

user output
36849602

Test 61

Group: 2, 4

Verdict: ACCEPTED

input
199999 40570 132081
1 2
2 3
3 4
4 5
...

correct output
755473816

user output
755473816

Test 62

Group: 2, 4

Verdict: ACCEPTED

input
200000 66666 133332
1 2
2 3
3 4
4 5
...

correct output
444555526

user output
444555526

Test 63

Group: 4

Verdict: ACCEPTED

input
200000 74284 172335
1 2
2 3
2 4
4 5
...

correct output
813676449

user output
813676449

Test 64

Group: 4

Verdict: ACCEPTED

input
200000 69598 27760
1 2
2 3
3 4
2 5
...

correct output
646690172

user output
646690172

Test 65

Group: 4

Verdict: ACCEPTED

input
200000 49557 15601
1 2
2 3
1 4
3 5
...

correct output
566402541

user output
566402541

Test 66

Group: 4

Verdict: ACCEPTED

input
200000 154301 42324
1 2
2 3
1 4
4 5
...

correct output
626928627

user output
626928627

Test 67

Group: 4

Verdict: ACCEPTED

input
200000 73912 80615
1 2
1 3
2 4
4 5
...

correct output
173675070

user output
173675070

Test 68

Group: 4

Verdict: ACCEPTED

input
200000 49444 123149
1 2
2 3
1 4
4 5
...

correct output
293033335

user output
293033335

Test 69

Group: 4

Verdict: ACCEPTED

input
200000 68176 124500
1 2
1 3
3 4
3 5
...

correct output
18856604

user output
18856604

Test 70

Group: 4

Verdict: ACCEPTED

input
200000 184565 72280
1 2
1 3
2 4
4 5
...

correct output
219119175

user output
219119175

Test 71

Group: 4

Verdict: ACCEPTED

input
200000 94918 182877
1 2
1 3
1 4
1 5
...

correct output
752671766

user output
752671766

Test 72

Group: 4

Verdict: ACCEPTED

input
200000 187918 126305
1 2
1 3
3 4
1 5
...

correct output
29685111

user output
29685111

Test 73

Group: 3, 4

Verdict:

input
200000 97734 97734
1 2
2 3
2 4
3 5
...

correct output
328993565

user output
664496786

Test 74

Group: 3, 4

Verdict:

input
200000 148516 148516
1 2
2 3
1 4
1 5
...

correct output
127541604

user output
63770802

Test 75

Group: 3, 4

Verdict: ACCEPTED

input
200000 190703 190703
1 2
1 3
3 4
2 5
...

correct output
416752559

user output
416752559

Test 76

Group: 3, 4

Verdict: ACCEPTED

input
200000 37698 37698
1 2
2 3
1 4
2 5
...

correct output
416871404

user output
416871404

Test 77

Group: 3, 4

Verdict: ACCEPTED

input
200000 116531 116531
1 2
1 3
2 4
1 5
...

correct output
748204701

user output
748204701

Test 78

Group: 3, 4

Verdict: ACCEPTED

input
200000 27284 27284
1 2
2 3
2 4
4 5
...

correct output
76035204

user output
76035204

Test 79

Group: 3, 4

Verdict: ACCEPTED

input
200000 122685 122685
1 2
1 3
2 4
4 5
...

correct output
337610563

user output
337610563

Test 80

Group: 3, 4

Verdict: ACCEPTED

input
200000 107933 107933
1 2
2 3
2 4
4 5
...

correct output
208311114

user output
208311114

Test 81

Group: 3, 4

Verdict: ACCEPTED

input
200000 138885 138885
1 2
2 3
2 4
3 5
...

correct output
256430889

user output
256430889

Test 82

Group: 3, 4

Verdict: ACCEPTED

input
200000 58880 58880
1 2
2 3
2 4
4 5
...

correct output
768053967

user output
768053967

Test 83

Group: 2, 4

Verdict: ACCEPTED

input
200000 75000 90943
168194 176825
176825 120246
120246 59194
59194 193803
...

correct output
391201968

user output
391201968

Test 84

Group: 2, 4

Verdict: ACCEPTED

input
200000 143557 105030
114244 129713
129713 100457
100457 70708
70708 178413
...

correct output
21500831

user output
21500831

Test 85

Group: 1, 2, 4

Verdict: ACCEPTED

input
10 7 6
4 2
2 7
7 10
10 6
...

correct output
18

user output
18

Test 86

Group: 1, 2, 4

Verdict: ACCEPTED

input
10 1 8
1 6
6 10
10 3
3 7
...

correct output
1

user output
1