Task: | Snakeless path |
Sender: | Niilo |
Submission time: | 2024-10-21 17:14:41 +0300 |
Language: | C++ (C++17) |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.00 s | details |
#2 | ACCEPTED | 0.00 s | details |
#3 | ACCEPTED | 0.00 s | details |
#4 | ACCEPTED | 0.00 s | details |
#5 | ACCEPTED | 0.00 s | details |
#6 | ACCEPTED | 0.00 s | details |
#7 | ACCEPTED | 0.00 s | details |
#8 | ACCEPTED | 0.00 s | details |
#9 | ACCEPTED | 0.00 s | details |
#10 | ACCEPTED | 0.00 s | details |
#11 | ACCEPTED | 0.00 s | details |
#12 | ACCEPTED | 0.00 s | details |
#13 | ACCEPTED | 0.00 s | details |
#14 | ACCEPTED | 0.00 s | details |
#15 | ACCEPTED | 0.00 s | details |
#16 | ACCEPTED | 0.00 s | details |
#17 | ACCEPTED | 0.00 s | details |
#18 | ACCEPTED | 0.00 s | details |
#19 | ACCEPTED | 0.00 s | details |
#20 | ACCEPTED | 0.00 s | details |
#21 | ACCEPTED | 0.00 s | details |
#22 | ACCEPTED | 0.00 s | details |
#23 | ACCEPTED | 0.00 s | details |
#24 | ACCEPTED | 0.00 s | details |
#25 | ACCEPTED | 0.00 s | details |
#26 | ACCEPTED | 0.00 s | details |
#27 | ACCEPTED | 0.00 s | details |
#28 | ACCEPTED | 0.00 s | details |
#29 | ACCEPTED | 0.00 s | details |
#30 | ACCEPTED | 0.00 s | details |
#31 | ACCEPTED | 0.00 s | details |
#32 | ACCEPTED | 0.00 s | details |
#33 | ACCEPTED | 0.00 s | details |
#34 | ACCEPTED | 0.01 s | details |
#35 | ACCEPTED | 0.00 s | details |
#36 | ACCEPTED | 0.00 s | details |
#37 | ACCEPTED | 0.00 s | details |
#38 | ACCEPTED | 0.01 s | details |
#39 | ACCEPTED | 0.00 s | details |
#40 | ACCEPTED | 0.00 s | details |
#41 | ACCEPTED | 0.00 s | details |
#42 | ACCEPTED | 0.00 s | details |
#43 | ACCEPTED | 0.00 s | details |
#44 | ACCEPTED | 0.01 s | details |
#45 | ACCEPTED | 0.00 s | details |
#46 | ACCEPTED | 0.00 s | details |
#47 | ACCEPTED | 0.00 s | details |
#48 | ACCEPTED | 0.01 s | details |
#49 | ACCEPTED | 0.00 s | details |
#50 | ACCEPTED | 0.01 s | details |
#51 | ACCEPTED | 0.01 s | details |
#52 | ACCEPTED | 0.01 s | details |
#53 | ACCEPTED | 0.01 s | details |
#54 | ACCEPTED | 0.19 s | details |
#55 | ACCEPTED | 0.01 s | details |
#56 | ACCEPTED | 0.02 s | details |
#57 | ACCEPTED | 0.00 s | details |
#58 | ACCEPTED | 0.19 s | details |
#59 | ACCEPTED | 0.00 s | details |
#60 | ACCEPTED | 0.19 s | details |
#61 | ACCEPTED | 0.00 s | details |
#62 | ACCEPTED | 0.00 s | details |
#63 | ACCEPTED | 0.14 s | details |
#64 | ACCEPTED | 0.01 s | details |
#65 | ACCEPTED | 0.07 s | details |
#66 | ACCEPTED | 0.01 s | details |
#67 | ACCEPTED | 0.01 s | details |
#68 | ACCEPTED | 0.19 s | details |
#69 | ACCEPTED | 0.00 s | details |
#70 | ACCEPTED | 0.20 s | details |
#71 | ACCEPTED | 0.20 s | details |
#72 | ACCEPTED | 0.20 s | details |
#73 | ACCEPTED | 0.21 s | details |
#74 | ACCEPTED | 0.31 s | details |
#75 | ACCEPTED | 0.18 s | details |
#76 | ACCEPTED | 0.34 s | details |
#77 | ACCEPTED | 0.10 s | details |
#78 | ACCEPTED | 0.05 s | details |
#79 | ACCEPTED | 0.10 s | details |
#80 | ACCEPTED | 0.13 s | details |
#81 | ACCEPTED | 0.15 s | details |
#82 | ACCEPTED | 0.13 s | details |
#83 | ACCEPTED | 0.22 s | details |
#84 | ACCEPTED | 0.20 s | details |
#85 | ACCEPTED | 0.28 s | details |
#86 | ACCEPTED | 0.18 s | details |
#87 | ACCEPTED | 0.18 s | details |
#88 | ACCEPTED | 0.07 s | details |
#89 | ACCEPTED | 0.10 s | details |
Code
#include <bits/stdc++.h> using namespace std; using ll = long long; const int N = 1e5; int R[N]; unordered_set<ll> V; set<int> S; int main() { int n, m; cin >> n >> m; for (int i = 0; i < m; ++i) { int a, b; cin >> a >> b; V.insert((a-1)|(ll(b-1)<<32)); } for (int i = 1; i < n; ++i) { S.insert(i); } vector<int> q; vector<int> A; q.push_back(0); while (!q.empty()) { int i = q.back(); q.pop_back(); for (int j : S) { if (i == j) continue; if (V.count(min(i,j)|(ll(max(i,j))<<32))) continue; q.push_back(j); A.push_back(j); assert(R[j] == 0); R[j] = i+1; } for (int j : A) S.erase(j); A.clear(); } if (R[n-1] == 0) { cout << "0\n"; return 0; } vector<int> A2; A2.push_back(n); while (R[A2.back()-1] != 0) { A2.push_back(R[A2.back()-1]); } reverse(A2.begin(),A2.end()); cout << A2.size() << "\n"; for (int p : A2) { cout << p << ' '; } }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
2 1 1 2 |
correct output |
---|
0 |
user output |
---|
0 |
Test 2
Verdict: ACCEPTED
input |
---|
3 1 1 3 |
correct output |
---|
3 1 2 3 |
user output |
---|
3 1 2 3 |
Test 3
Verdict: ACCEPTED
input |
---|
3 1 1 3 |
correct output |
---|
3 1 2 3 |
user output |
---|
3 1 2 3 |
Test 4
Verdict: ACCEPTED
input |
---|
3 1 1 3 |
correct output |
---|
3 1 2 3 |
user output |
---|
3 1 2 3 |
Test 5
Verdict: ACCEPTED
input |
---|
4 1 1 4 |
correct output |
---|
3 1 3 4 |
user output |
---|
3 1 3 4 |
Test 6
Verdict: ACCEPTED
input |
---|
4 5 1 2 1 3 1 4 2 3 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 7
Verdict: ACCEPTED
input |
---|
4 3 1 2 1 3 1 4 |
correct output |
---|
0 |
user output |
---|
0 |
Test 8
Verdict: ACCEPTED
input |
---|
4 2 1 3 2 3 |
correct output |
---|
2 1 4 |
user output |
---|
2 1 4 |
Test 9
Verdict: ACCEPTED
input |
---|
4 4 1 2 1 4 2 3 3 4 |
correct output |
---|
0 |
user output |
---|
0 |
Test 10
Verdict: ACCEPTED
input |
---|
5 6 1 2 1 4 1 5 2 5 ... |
correct output |
---|
5 1 3 2 4 5 |
user output |
---|
5 1 3 2 4 5 |
Test 11
Verdict: ACCEPTED
input |
---|
5 5 1 2 1 3 1 5 2 5 ... |
correct output |
---|
3 1 4 5 |
user output |
---|
3 1 4 5 |
Test 12
Verdict: ACCEPTED
input |
---|
5 5 1 3 1 4 1 5 3 5 ... |
correct output |
---|
3 1 2 5 |
user output |
---|
3 1 2 5 |
Test 13
Verdict: ACCEPTED
input |
---|
5 6 1 3 1 4 1 5 2 4 ... |
correct output |
---|
5 1 2 3 4 5 |
user output |
---|
5 1 2 3 4 5 |
Test 14
Verdict: ACCEPTED
input |
---|
5 9 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 15
Verdict: ACCEPTED
input |
---|
5 7 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 16
Verdict: ACCEPTED
input |
---|
5 1 1 5 |
correct output |
---|
3 1 4 5 |
user output |
---|
3 1 4 5 |
Test 17
Verdict: ACCEPTED
input |
---|
5 4 1 2 1 3 1 4 1 5 |
correct output |
---|
0 |
user output |
---|
0 |
Test 18
Verdict: ACCEPTED
input |
---|
5 9 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 19
Verdict: ACCEPTED
input |
---|
5 4 1 2 1 3 1 4 1 5 |
correct output |
---|
0 |
user output |
---|
0 |
Test 20
Verdict: ACCEPTED
input |
---|
10 16 1 2 1 3 1 4 1 5 ... |
correct output |
---|
6 1 6 9 8 7 10 |
user output |
---|
5 1 6 9 7 10 |
Test 21
Verdict: ACCEPTED
input |
---|
10 16 1 2 1 3 1 4 1 5 ... |
correct output |
---|
5 1 9 8 7 10 |
user output |
---|
5 1 9 8 7 10 |
Test 22
Verdict: ACCEPTED
input |
---|
10 16 1 2 1 4 1 5 1 6 ... |
correct output |
---|
10 1 3 9 8 7 6 5 4 2 10 |
user output |
---|
5 1 3 9 2 10 |
Test 23
Verdict: ACCEPTED
input |
---|
10 16 1 3 1 4 1 5 1 6 ... |
correct output |
---|
6 1 2 9 8 7 10 |
user output |
---|
5 1 2 9 7 10 |
Test 24
Verdict: ACCEPTED
input |
---|
10 39 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 25
Verdict: ACCEPTED
input |
---|
10 17 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 26
Verdict: ACCEPTED
input |
---|
10 1 1 10 |
correct output |
---|
3 1 9 10 |
user output |
---|
3 1 9 10 |
Test 27
Verdict: ACCEPTED
input |
---|
10 9 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 28
Verdict: ACCEPTED
input |
---|
10 40 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 29
Verdict: ACCEPTED
input |
---|
10 9 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 30
Verdict: ACCEPTED
input |
---|
100 196 1 2 1 3 1 4 1 5 ... |
correct output |
---|
31 1 60 99 98 97 96 95 94 93 92 9... |
user output |
---|
5 1 60 99 72 100 |
Test 31
Verdict: ACCEPTED
input |
---|
100 196 1 2 1 3 1 4 1 5 ... |
correct output |
---|
30 1 99 98 97 96 95 94 93 92 91 9... |
user output |
---|
5 1 99 98 72 100 |
Test 32
Verdict: ACCEPTED
input |
---|
100 196 1 2 1 3 1 4 1 5 ... |
correct output |
---|
98 1 20 99 98 97 96 95 94 93 92 9... |
user output |
---|
5 1 20 99 4 100 |
Test 33
Verdict: ACCEPTED
input |
---|
100 196 1 2 1 3 1 4 1 5 ... |
correct output |
---|
32 1 8 99 98 97 96 95 94 93 92 91... |
user output |
---|
5 1 8 99 71 100 |
Test 34
Verdict: ACCEPTED
input |
---|
100 4910 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 35
Verdict: ACCEPTED
input |
---|
100 197 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 36
Verdict: ACCEPTED
input |
---|
100 248 1 8 1 29 1 53 1 61 ... |
correct output |
---|
3 1 99 100 |
user output |
---|
3 1 99 100 |
Test 37
Verdict: ACCEPTED
input |
---|
100 99 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 38
Verdict: ACCEPTED
input |
---|
100 4888 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 39
Verdict: ACCEPTED
input |
---|
100 99 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 40
Verdict: ACCEPTED
input |
---|
200 396 1 2 1 3 1 4 1 5 ... |
correct output |
---|
60 1 119 199 198 197 196 195 194 ... |
user output |
---|
5 1 119 199 143 200 |
Test 41
Verdict: ACCEPTED
input |
---|
200 396 1 2 1 3 1 4 1 5 ... |
correct output |
---|
58 1 199 198 197 196 195 194 193 ... |
user output |
---|
5 1 199 198 144 200 |
Test 42
Verdict: ACCEPTED
input |
---|
200 396 1 2 1 3 1 4 1 5 ... |
correct output |
---|
195 1 38 199 198 197 196 195 194 1... |
user output |
---|
5 1 38 199 7 200 |
Test 43
Verdict: ACCEPTED
input |
---|
200 396 1 2 1 3 1 4 1 5 ... |
correct output |
---|
61 1 16 199 198 197 196 195 194 1... |
user output |
---|
5 1 16 199 142 200 |
Test 44
Verdict: ACCEPTED
input |
---|
200 19807 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 45
Verdict: ACCEPTED
input |
---|
200 397 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 46
Verdict: ACCEPTED
input |
---|
200 994 1 8 1 29 1 53 1 61 ... |
correct output |
---|
3 1 199 200 |
user output |
---|
3 1 199 200 |
Test 47
Verdict: ACCEPTED
input |
---|
200 199 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 48
Verdict: ACCEPTED
input |
---|
200 19792 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 49
Verdict: ACCEPTED
input |
---|
200 199 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 50
Verdict: ACCEPTED
input |
---|
1000 1996 1 2 1 3 1 4 1 5 ... |
correct output |
---|
288 1 593 999 998 997 996 995 994 ... |
user output |
---|
5 1 593 999 715 1000 |
Test 51
Verdict: ACCEPTED
input |
---|
1000 1996 1 2 1 3 1 4 1 5 ... |
correct output |
---|
282 1 997 999 998 996 995 994 993 ... |
user output |
---|
5 1 997 999 720 1000 |
Test 52
Verdict: ACCEPTED
input |
---|
1000 1996 1 2 1 3 1 4 1 5 ... |
correct output |
---|
975 1 186 999 998 997 996 995 994 ... |
user output |
---|
5 1 186 999 27 1000 |
Test 53
Verdict: ACCEPTED
input |
---|
1000 1996 1 2 1 3 1 4 1 5 ... |
correct output |
---|
295 1 72 999 998 997 996 995 994 9... |
user output |
---|
5 1 72 999 708 1000 |
Test 54
Verdict: ACCEPTED
input |
---|
1000 299999 1 2 1 3 1 4 1 5 ... |
correct output |
---|
3 1 691 1000 |
user output |
---|
3 1 691 1000 |
Test 55
Verdict: ACCEPTED
input |
---|
1000 1997 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 56
Verdict: ACCEPTED
input |
---|
1000 25751 1 8 1 29 1 53 1 61 ... |
correct output |
---|
4 1 999 998 1000 |
user output |
---|
5 1 999 987 766 1000 |
Test 57
Verdict: ACCEPTED
input |
---|
1000 999 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 58
Verdict: ACCEPTED
input |
---|
1000 299999 1 2 1 3 1 4 1 5 ... |
correct output |
---|
3 1 832 1000 |
user output |
---|
3 1 832 1000 |
Test 59
Verdict: ACCEPTED
input |
---|
1000 999 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 60
Verdict: ACCEPTED
input |
---|
1000 299999 1 2 1 3 1 4 1 5 ... |
correct output |
---|
3 1 999 1000 |
user output |
---|
3 1 999 1000 |
Test 61
Verdict: ACCEPTED
input |
---|
1000 999 1 1000 2 1000 3 1000 4 1000 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 62
Verdict: ACCEPTED
input |
---|
1000 999 1 1000 2 1000 3 1000 4 1000 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 63
Verdict: ACCEPTED
input |
---|
1000 195765 1 2 1 3 1 4 1 5 ... |
correct output |
---|
4 1 999 997 1000 |
user output |
---|
4 1 999 997 1000 |
Test 64
Verdict: ACCEPTED
input |
---|
1000 1996 1 2 1 3 1 4 1 5 ... |
correct output |
---|
229 1 922 999 998 997 996 995 994 ... |
user output |
---|
5 1 922 999 773 1000 |
Test 65
Verdict: ACCEPTED
input |
---|
1000 92979 1 6 1 8 1 12 1 18 ... |
correct output |
---|
2 1 1000 |
user output |
---|
2 1 1000 |
Test 66
Verdict: ACCEPTED
input |
---|
1000 1997 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 67
Verdict: ACCEPTED
input |
---|
1000 1997 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 68
Verdict: ACCEPTED
input |
---|
1000 299999 1 2 1 3 1 4 1 5 ... |
correct output |
---|
3 1 885 1000 |
user output |
---|
3 1 885 1000 |
Test 69
Verdict: ACCEPTED
input |
---|
1000 999 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 70
Verdict: ACCEPTED
input |
---|
100000 199996 1 2 1 3 1 4 1 5 ... |
correct output |
---|
28483 1 59286 99999 99998 99997 9999... |
user output |
---|
5 1 59286 99999 71520 100000 |
Test 71
Verdict: ACCEPTED
input |
---|
100000 199996 1 2 1 3 1 4 1 5 ... |
correct output |
---|
27969 1 99719 99999 99998 99997 9999... |
user output |
---|
5 1 99719 99999 72033 100000 |
Test 72
Verdict: ACCEPTED
input |
---|
100000 199996 1 2 1 3 1 4 1 5 ... |
correct output |
---|
97408 1 18510 99999 99998 99997 9999... |
user output |
---|
5 1 18510 99999 2594 100000 |
Test 73
Verdict: ACCEPTED
input |
---|
100000 199996 1 2 1 3 1 4 1 5 ... |
correct output |
---|
29187 1 7074 99999 99998 99997 99996... |
user output |
---|
5 1 7074 99999 70816 100000 |
Test 74
Verdict: ACCEPTED
input |
---|
100000 270197 1 861 1 12080 1 39541 1 39686 ... |
correct output |
---|
3 1 99999 100000 |
user output |
---|
3 1 99999 100000 |
Test 75
Verdict: ACCEPTED
input |
---|
100000 199997 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 76
Verdict: ACCEPTED
input |
---|
100000 284253 1 23553 1 48406 1 56616 1 56899 ... |
correct output |
---|
2 1 100000 |
user output |
---|
2 1 100000 |
Test 77
Verdict: ACCEPTED
input |
---|
100000 99999 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 78
Verdict: ACCEPTED
input |
---|
100000 3335 1 100000 11 26761 12 80933 41 44903 ... |
correct output |
---|
3 1 99999 100000 |
user output |
---|
3 1 99999 100000 |
Test 79
Verdict: ACCEPTED
input |
---|
100000 99999 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 80
Verdict: ACCEPTED
input |
---|
100000 89632 1 76350 1 97733 1 100000 2 16314 ... |
correct output |
---|
3 1 99999 100000 |
user output |
---|
3 1 99999 100000 |
Test 81
Verdict: ACCEPTED
input |
---|
100000 99999 1 100000 2 100000 3 100000 4 100000 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 82
Verdict: ACCEPTED
input |
---|
100000 99999 1 100000 2 100000 3 100000 4 100000 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 83
Verdict: ACCEPTED
input |
---|
100000 182210 1 17827 1 55463 1 98875 1 100000 ... |
correct output |
---|
3 1 99999 100000 |
user output |
---|
3 1 99999 100000 |
Test 84
Verdict: ACCEPTED
input |
---|
100000 199996 1 2 1 3 1 4 1 5 ... |
correct output |
---|
22685 1 92190 99999 99998 99997 9999... |
user output |
---|
5 1 92190 99999 77317 100000 |
Test 85
Verdict: ACCEPTED
input |
---|
100000 244084 1 33037 1 48376 1 94522 1 100000 ... |
correct output |
---|
3 1 99999 100000 |
user output |
---|
3 1 99999 100000 |
Test 86
Verdict: ACCEPTED
input |
---|
100000 199997 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 87
Verdict: ACCEPTED
input |
---|
100000 199997 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 88
Verdict: ACCEPTED
input |
---|
100000 22805 1 100000 2 29973 7 38479 7 77260 ... |
correct output |
---|
3 1 99999 100000 |
user output |
---|
3 1 99999 100000 |
Test 89
Verdict: ACCEPTED
input |
---|
100000 99999 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |