Task: | Lista |
Sender: | jnalanko |
Submission time: | 2020-09-05 02:56:09 +0300 |
Language: | C++ (C++17) |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 21 |
#2 | ACCEPTED | 38 |
#3 | ACCEPTED | 41 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.03 s | 1, 2, 3 | details |
#2 | ACCEPTED | 0.03 s | 1, 2, 3 | details |
#3 | ACCEPTED | 0.03 s | 1, 2, 3 | details |
#4 | ACCEPTED | 0.03 s | 1, 2, 3 | details |
#5 | ACCEPTED | 0.03 s | 1, 2, 3 | details |
#6 | ACCEPTED | 0.03 s | 1, 2, 3 | details |
#7 | ACCEPTED | 0.03 s | 1, 2, 3 | details |
#8 | ACCEPTED | 0.03 s | 1, 2, 3 | details |
#9 | ACCEPTED | 0.03 s | 1, 2, 3 | details |
#10 | ACCEPTED | 0.03 s | 2, 3 | details |
#11 | ACCEPTED | 0.03 s | 2, 3 | details |
#12 | ACCEPTED | 0.03 s | 2, 3 | details |
#13 | ACCEPTED | 0.03 s | 2, 3 | details |
#14 | ACCEPTED | 0.03 s | 2, 3 | details |
#15 | ACCEPTED | 0.03 s | 2, 3 | details |
#16 | ACCEPTED | 0.03 s | 3 | details |
#17 | ACCEPTED | 0.03 s | 3 | details |
#18 | ACCEPTED | 0.04 s | 3 | details |
#19 | ACCEPTED | 0.04 s | 3 | details |
#20 | ACCEPTED | 0.04 s | 3 | details |
#21 | ACCEPTED | 0.04 s | 3 | details |
Compiler report
input/code.cpp: In function 'void dfs(const std::vector<std::vector<long long int> >&)': input/code.cpp:17:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(ans.size() == n){ ~~~~~~~~~~~^~~~
Code
#include <iostream> #include <vector> #include <set> #include <queue> #include <algorithm> using namespace std; typedef long long LL; vector<bool> isprime; vector<LL> ans; set<LL> used; LL n; void dfs(const vector<vector<LL> >& adj){ if(ans.size() == n){ for(LL x : ans) cout << x << " "; exit(0); } for(LL x : adj[ans.back()]){ if(used.count(x) == 0){ used.insert(x); ans.push_back(x); dfs(adj); used.erase(x); ans.pop_back(); } } } int main(){ isprime.resize(2010, true); isprime[0] = false; isprime[1] = false; for(LL i = 2; i <= 2000; i++){ for(LL d = 2; d < i; d++){ if(i % d == 0) isprime[i] = false; } } cin >> n; vector<vector<LL> > adj(2001); for(LL x = 1; x <= n; x++){ for(LL y = 1; y <= n; y++){ if(x != y && isprime[x+y]) adj[x].push_back(y); } std::reverse(adj[x].begin(), adj[x].end()); //std::random_shuffle(adj[x].begin(), adj[x].end()); } ans.push_back(1); used.insert(1); dfs(adj); }
Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
2 |
correct output |
---|
1 2 |
user output |
---|
1 2 |
Test 2
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
3 |
correct output |
---|
1 2 3 |
user output |
---|
1 2 3 |
Test 3
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
4 |
correct output |
---|
1 2 3 4 |
user output |
---|
1 4 3 2 |
Test 4
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
5 |
correct output |
---|
3 4 1 2 5 |
user output |
---|
1 4 3 2 5 |
Test 5
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
6 |
correct output |
---|
3 4 1 2 5 6 |
user output |
---|
1 6 5 2 3 4 |
Test 6
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
7 |
correct output |
---|
3 4 1 2 5 6 7 |
user output |
---|
1 6 7 4 3 2 5 |
Test 7
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
8 |
correct output |
---|
7 6 5 2 1 4 3 8 |
user output |
---|
1 6 7 4 3 8 5 2 |
Test 8
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
9 |
correct output |
---|
7 6 5 2 1 4 3 8 9 |
user output |
---|
1 6 7 4 9 8 5 2 3 |
Test 9
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
10 |
correct output |
---|
7 6 5 2 1 4 3 8 9 10 |
user output |
---|
1 10 9 8 5 6 7 4 3 2 |
Test 10
Group: 2, 3
Verdict: ACCEPTED
input |
---|
19 |
correct output |
---|
17 14 3 8 15 16 13 6 5 2 1 4 9... |
user output |
---|
1 18 19 12 17 14 15 16 13 10 9... |
Test 11
Group: 2, 3
Verdict: ACCEPTED
input |
---|
56 |
correct output |
---|
55 54 53 50 51 52 49 48 13 28 ... |
user output |
---|
1 52 55 54 53 56 51 50 47 42 4... Truncated |
Test 12
Group: 2, 3
Verdict: ACCEPTED
input |
---|
70 |
correct output |
---|
67 4 1 2 9 32 35 38 65 66 61 4... |
user output |
---|
1 70 69 68 63 64 67 60 53 56 5... Truncated |
Test 13
Group: 2, 3
Verdict: ACCEPTED
input |
---|
76 |
correct output |
---|
73 66 61 42 59 54 53 50 51 52 ... |
user output |
---|
1 72 67 70 69 68 71 66 73 76 7... Truncated |
Test 14
Group: 2, 3
Verdict: ACCEPTED
input |
---|
90 |
correct output |
---|
87 86 11 18 29 44 45 16 55 58 ... |
user output |
---|
1 88 85 82 81 86 87 80 83 90 8... Truncated |
Test 15
Group: 2, 3
Verdict: ACCEPTED
input |
---|
100 |
correct output |
---|
97 96 95 78 25 82 81 56 71 68 ... |
user output |
---|
1 100 99 98 95 96 97 94 87 92 ... Truncated |
Test 16
Group: 3
Verdict: ACCEPTED
input |
---|
154 |
correct output |
---|
151 6 5 92 137 134 149 84 143 ... |
user output |
---|
1 150 143 140 153 154 139 144 ... Truncated |
Test 17
Group: 3
Verdict: ACCEPTED
input |
---|
430 |
correct output |
---|
427 426 371 372 367 376 375 35... |
user output |
---|
1 430 429 428 425 414 415 424 ... Truncated |
Test 18
Group: 3
Verdict: ACCEPTED
input |
---|
629 |
correct output |
---|
627 404 227 146 83 150 77 74 3... |
user output |
---|
1 618 619 612 625 624 613 616 ... Truncated |
Test 19
Group: 3
Verdict: ACCEPTED
input |
---|
833 |
correct output |
---|
829 828 793 574 523 516 515 51... |
user output |
---|
1 828 829 808 819 818 809 812 ... Truncated |
Test 20
Group: 3
Verdict: ACCEPTED
input |
---|
885 |
correct output |
---|
883 724 723 878 881 726 721 71... |
user output |
---|
1 882 877 876 883 870 871 862 ... Truncated |
Test 21
Group: 3
Verdict: ACCEPTED
input |
---|
1000 |
correct output |
---|
997 996 737 884 995 492 991 20... |
user output |
---|
1 996 997 1000 999 998 995 992... Truncated |