CSES - Putka Open 2020 – 1/5 - Results
Submission details
Task:Lista
Sender:Hannes
Submission time:2020-09-06 17:00:06 +0300
Language:C++11
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2, 3details
#2ACCEPTED0.01 s1, 2, 3details
#3ACCEPTED0.01 s1, 2, 3details
#4ACCEPTED0.01 s1, 2, 3details
#5ACCEPTED0.01 s1, 2, 3details
#6ACCEPTED0.01 s1, 2, 3details
#7ACCEPTED0.01 s1, 2, 3details
#80.01 s1, 2, 3details
#9ACCEPTED0.01 s1, 2, 3details
#10ACCEPTED0.01 s2, 3details
#11ACCEPTED0.01 s2, 3details
#12ACCEPTED0.01 s2, 3details
#130.01 s2, 3details
#14ACCEPTED0.01 s2, 3details
#15ACCEPTED0.01 s2, 3details
#160.02 s3details
#17ACCEPTED0.01 s3details
#180.60 s3details
#190.67 s3details
#200.01 s3details
#21--3details

Compiler report

input/code.cpp: In function 'bool solve(int)':
input/code.cpp:30:7: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
       for (int i=0;i<n;++i)  cout << A[i] << " ";cout << endl;
       ^~~
input/code.cpp:30:50: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
       for (int i=0;i<n;++i)  cout << A[i] << " ";cout << endl;
                                                  ^~~~

Code

#include <bits/stdc++.h>
using namespace std;
int n, nn;
const int N=2020;
int p[N];

int A[1010];

bool check() {
//   for (int i=0;i<n;++i)  cout << A[i] << " ";cout << endl;
  for (int i=1;i<n;++i) if (p[A[i]+A[i+1]]) return 0;
  return 1;
}

bool solve(int n) {
  int nn=n-(n&1);
  for (int s=0;s<n*n;++s) {
    for (int i=0;i<n;++i) {
      if (~i&1) {
        A[i]=i+1;
        A[i]+=2*(s/n);
        if (A[i]>n) A[i]-=nn;
      }else {
        A[i]=nn-i+1;
        A[i]+=2*(s%n);
        if (A[i]>n)A[i]-=nn;    
      }
    }
    if (check()) {
      for (int i=0;i<n;++i)  cout << A[i] << " ";cout << endl;
      return 1;
    }
  }
  return 0;
}

int main() {
  p[0]=1;p[1]=1;
  for (int i=2;i<N;++i) {
    if (p[i]) continue;
    for (int j=i+i;j<N;j+=i) p[j]=1;
  }
  /*
  for (int i=0;i<1000;++i) {
    if (!solve(1000)) { cout << "QAQ\n" << endl; return 0;}
    cout << i << endl;
  }
  return 0;//*/
  cin >> n;
  if (!solve(n))  cout << "QAQ\n" << endl;
}

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
5 6 1 4 3 2 

Test 6

Group: 1, 2, 3

Verdict: ACCEPTED

input
7

correct output
3 4 1 2 5 6 7 

user output
1 4 3 2 5 6 7 

Test 7

Group: 1, 2, 3

Verdict: ACCEPTED

input
8

correct output
7 6 5 2 1 4 3 8 

user output
3 8 5 6 7 4 1 2 

Test 8

Group: 1, 2, 3

Verdict:

input
9

correct output
7 6 5 2 1 4 3 8 9 

user output
3 8 5 6 7 4 9 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 3 8 5 6 7 4 9 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 10 3 8 5 6 7 4 9 2 11 18 13 ...

Test 11

Group: 2, 3

Verdict: ACCEPTED

input
56

correct output
55 54 53 50 51 52 49 48 13 28 ...

user output
3 56 5 54 7 52 9 50 11 48 13 4...

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 3 68 5 66 7 64 9 62 11 60...

Test 13

Group: 2, 3

Verdict:

input
76

correct output
73 66 61 42 59 54 53 50 51 52 ...

user output
25 76 27 74 29 72 31 70 33 68 ...

Test 14

Group: 2, 3

Verdict: ACCEPTED

input
90

correct output
87 86 11 18 29 44 45 16 55 58 ...

user output
11 90 13 88 15 86 17 84 19 82 ...

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 3 98 5 96 7 94 9 92 11 9...

Test 16

Group: 3

Verdict:

input
154

correct output
151 6 5 92 137 134 149 84 143 ...

user output
25 154 27 152 29 150 31 148 33...

Test 17

Group: 3

Verdict: ACCEPTED

input
430

correct output
427 426 371 372 367 376 375 35...

user output
1 430 3 428 5 426 7 424 9 422 ...

Test 18

Group: 3

Verdict:

input
629

correct output
627 404 227 146 83 150 77 74 3...

user output
3 638 5 636 7 634 9 632 11 630...

Test 19

Group: 3

Verdict:

input
833

correct output
829 828 793 574 523 516 515 51...

user output
397 1664 399 1662 401 1660 403...

Test 20

Group: 3

Verdict:

input
885

correct output
883 724 723 878 881 726 721 71...

user output
3 1016 5 1014 7 1012 9 1010 11...

Test 21

Group: 3

Verdict:

input
1000

correct output
997 996 737 884 995 492 991 20...

user output
(empty)