Task: | Snakeless path |
Sender: | louaha1 |
Submission time: | 2024-10-21 17:43:46 +0300 |
Language: | C++ (C++11) |
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.00 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.00 s | details |
#51 | ACCEPTED | 0.00 s | details |
#52 | ACCEPTED | 0.00 s | details |
#53 | ACCEPTED | 0.00 s | details |
#54 | ACCEPTED | 0.06 s | details |
#55 | ACCEPTED | 0.00 s | details |
#56 | ACCEPTED | 0.01 s | details |
#57 | ACCEPTED | 0.00 s | details |
#58 | ACCEPTED | 0.06 s | details |
#59 | ACCEPTED | 0.00 s | details |
#60 | ACCEPTED | 0.06 s | details |
#61 | ACCEPTED | 0.00 s | details |
#62 | ACCEPTED | 0.00 s | details |
#63 | ACCEPTED | 0.04 s | details |
#64 | ACCEPTED | 0.00 s | details |
#65 | ACCEPTED | 0.02 s | details |
#66 | ACCEPTED | 0.00 s | details |
#67 | ACCEPTED | 0.00 s | details |
#68 | ACCEPTED | 0.06 s | details |
#69 | ACCEPTED | 0.00 s | details |
#70 | ACCEPTED | 0.09 s | details |
#71 | ACCEPTED | 0.09 s | details |
#72 | ACCEPTED | 0.09 s | details |
#73 | ACCEPTED | 0.09 s | details |
#74 | ACCEPTED | 0.14 s | details |
#75 | ACCEPTED | 0.08 s | details |
#76 | ACCEPTED | 0.14 s | details |
#77 | ACCEPTED | 0.06 s | details |
#78 | ACCEPTED | 0.04 s | details |
#79 | ACCEPTED | 0.06 s | details |
#80 | ACCEPTED | 0.07 s | details |
#81 | ACCEPTED | 0.07 s | details |
#82 | ACCEPTED | 0.07 s | details |
#83 | ACCEPTED | 0.10 s | details |
#84 | ACCEPTED | 0.09 s | details |
#85 | ACCEPTED | 0.13 s | details |
#86 | ACCEPTED | 0.09 s | details |
#87 | ACCEPTED | 0.09 s | details |
#88 | ACCEPTED | 0.05 s | details |
#89 | ACCEPTED | 0.06 s | details |
Code
#include <bits/stdc++.h> using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(NULL); int n, m; cin >> n >> m; vector<vector<int>> blocked(n+1, vector<int>()); for(int i=0; i<m; ++i){ int a, b; cin >> a >> b; blocked[a].push_back(b); blocked[b].push_back(a); } for(int i=1; i<=n; ++i){ sort(blocked[i].begin(), blocked[i].end()); } vector<int> parent(n+1, -1); queue<int> q; set<int> unvisited; for(int i=2; i<=n; ++i){ unvisited.insert(i); } q.push(1); parent[1] = 0; while(!q.empty()){ int current = q.front(); q.pop(); if(current == n){ break; } auto it = unvisited.begin(); auto blk_it = blocked[current].begin(); while(it != unvisited.end()){ while(blk_it != blocked[current].end() && *blk_it < *it){ ++blk_it; } if(blk_it != blocked[current].end() && *blk_it == *it){ ++it; } else{ int node = *it; parent[node] = current; q.push(node); it = unvisited.erase(it); } } } if(parent[n] == -1){ cout << "0\n"; } else{ vector<int> path; int node = n; while(node != 0){ path.push_back(node); node = parent[node]; } reverse(path.begin(), path.end()); // Output cout << path.size() << "\n"; for(size_t i = 0; i < path.size(); ++i){ cout << path[i] << (i < path.size() - 1 ? ' ' : '\n'); } } }
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 2 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 2 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 2 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 2 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 4 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 3 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 |
---|
3 1 2 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 10 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 |
---|
3 1 6 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 100000 |
Test 89
Verdict: ACCEPTED
input |
---|
100000 99999 1 2 1 3 1 4 1 5 ... |
correct output |
---|
0 |
user output |
---|
0 |