#include "Anna.h"
#include <bits/stdc++.h>
using namespace std;
void Anna(int N, int K, std::vector<int> R, std::vector<int> C) {
bool used[3][3];
for (int x = 0; x<3; x++){
for (int y = 0; y<3; y++){
used[x][y] = false;
}
}
for (int x = 0; x<K; x++){
used[R[x]%3][C[x]%3] = true;
}
int offsetx,offsety;
for (int x = 0; x<3; x++){
for (int y = 0; y<3; y++){
if (!used[x][y]){
offsetx = x;
offsety = y;
}
}
}
// printf("offset = %d %d\n",offsetx,offsety);
int num1[N][N];
int num2[N][N];
for (int x = 0; x<N; x++){
for (int y = 0; y<N; y++){
num1[x][y] = -1;
num2[x][y] = -1;
}
}
for (int x = 0; x<K; x++){
num1[R[x]][C[x]] = x;
}
for (int r = 0; r < N; r++) {
for (int c = 0; c < N; c++) {
if (num1[r][c]==-1 && r%3==offsetx && c%3==offsety){
num1[r][c] = 7;
}
else if (num1[r][c]==-1) num1[r][c] = 8;
}
}
vector<pair<int,int> > offsets = {{1,0},{2,0},{0,1},{1,1},{2,1},{0,2},{1,2}};
for (int k = 0; k<K; k++){
for (int X = offsetx-3+offsets[k].first; X<N; X+=3){
if (X<0) continue;
for (int Y = offsety-3+offsets[k].second; Y<N; Y+=3){
if (Y<0) continue;
if (R[k]<X-1){
num2[X][Y] = 0;
}
else if (R[k]>X+1){
num2[X][Y] = 1;
}
else if (C[k]<Y-1){
num2[X][Y] = 2;
}
else if (C[k]>Y+1){
num2[X][Y] = 3;
}
else if (R[k]<X){
num2[X][Y] = 0;
}
else if (R[k]>X){
num2[X][Y] = 1;
}
else if (C[k]<Y){
num2[X][Y] = 2;
}
else if (C[k]>Y){
num2[X][Y] = 3;
}
if (R[k]==X-1 && C[k]==Y-1){
num2[X][Y] = 4;
}
else if (R[k]==X+1 && C[k]==Y-1){
num2[X][Y] = 5;
}
else if (R[k]==X-1&& C[k]==Y+1){
num2[X][Y] = 6;
}
else if (R[k]==X+1 && C[k]==Y+1){
num2[X][Y] = 7;
}
if (num2[X][Y]==-1) num2[X][Y] = 0;
}
}
}
for (int x = 0; x<N; x++){
for (int y = 0; y<N; y++){
// printf("%d %d = %d %d\n",x,y,num1[x][y],num2[x][y]);
if (num2[x][y]==-1) num2[x][y] = 0;
//if (x>=83 && x<=85 && y>=58 && y<=60) printf("%d %d = %d %d\n",x,y,num1[x][y],num2[x][y]);
SetFlag(x,y,num1[x][y]*8+num2[x][y]+1);
}
}
}
#include "Bruno.h"
#include <bits/stdc++.h>
using namespace std;
std::vector<int> Bruno(int K, std::vector<int> value) {
int num1[3][3];
int num2[3][3];
for (int i = 0; i<9; i++){
int x = i/3;
int y = i%3;
num1[x][y] = (value[i]-1)/8;
num2[x][y] = (value[i]-1)%8;
//printf("%d %d = %d %d\n",x,y,num1[x][y],num2[x][y]);
}
vector<int> res;
for (int x = 0; x<K; x++) res.push_back(-1);
int offsetx = -1; int offsety = -1;
for (int x = 0; x<3; x++){
for (int y = 0; y<3; y++){
if (num1[x][y]==7){
offsetx = x; offsety = y;
}
if (num1[x][y]<7){
if (x==0) res[num1[x][y]] = 3;
else if (x==2) res[num1[x][y]] = 2;
else if (y==0) res[num1[x][y]] = 1;
else if (y==2) res[num1[x][y]] = 0;
else res[num1[x][y]] = 4;
}
}
}
vector<pair<int,int> > offsets = {{1,0},{2,0},{0,1},{1,1},{2,1},{0,2},{1,2}};
for (int k = 0; k<K; k++){
if (res[k]!=-1) continue;
int casenum = num2[(offsetx+offsets[k].first)%3][(offsety+offsets[k].second)%3];
// printf("for k = %d, case = %d\n",k,casenum);
if (casenum==0){
res[k] = 3;
}
else if (casenum==1){
res[k] = 2;
}
else if (casenum==2){
res[k] = 1;
}
else if (casenum==3){
res[k] = 0;
}
else if (casenum==4){
res[k] = ((offsetx+offsets[k].first)%3==2)?1:3;
}
else if (casenum==5){
res[k] = ((offsetx+offsets[k].first)%3==0)?1:2;
}
else if (casenum==6){
res[k] = ((offsetx+offsets[k].first)%3==2)?0:3;
}
else if (casenum==7){
res[k] = ((offsetx+offsets[k].first)%3==0)?0:2;
}
}
return res;
}
Compilation message
Anna.cpp: In function 'void Anna(int, int, std::vector<int>, std::vector<int>)':
Anna.cpp:47:29: warning: 'offsetx' may be used uninitialized in this function [-Wmaybe-uninitialized]
47 | for (int X = offsetx-3+offsets[k].first; X<N; X+=3){
| ~~~~~~~^~
Anna.cpp:49:33: warning: 'offsety' may be used uninitialized in this function [-Wmaybe-uninitialized]
49 | for (int Y = offsety-3+offsets[k].second; Y<N; Y+=3){
| ~~~~~~~^~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
12 ms |
464 KB |
Partially correct |
2 |
Partially correct |
12 ms |
384 KB |
Partially correct |
3 |
Partially correct |
9 ms |
468 KB |
Partially correct |
4 |
Partially correct |
14 ms |
384 KB |
Partially correct |
5 |
Partially correct |
20 ms |
392 KB |
Partially correct |
6 |
Partially correct |
19 ms |
472 KB |
Partially correct |
7 |
Partially correct |
12 ms |
464 KB |
Partially correct |
8 |
Partially correct |
14 ms |
384 KB |
Partially correct |
9 |
Partially correct |
13 ms |
384 KB |
Partially correct |
10 |
Partially correct |
16 ms |
384 KB |
Partially correct |
11 |
Partially correct |
22 ms |
384 KB |
Partially correct |
12 |
Partially correct |
16 ms |
468 KB |
Partially correct |
13 |
Partially correct |
13 ms |
384 KB |
Partially correct |
14 |
Partially correct |
13 ms |
384 KB |
Partially correct |
15 |
Partially correct |
13 ms |
384 KB |
Partially correct |
16 |
Partially correct |
16 ms |
384 KB |
Partially correct |
17 |
Partially correct |
22 ms |
384 KB |
Partially correct |
18 |
Partially correct |
15 ms |
448 KB |
Partially correct |
19 |
Partially correct |
16 ms |
384 KB |
Partially correct |
20 |
Partially correct |
15 ms |
384 KB |
Partially correct |
21 |
Partially correct |
17 ms |
384 KB |
Partially correct |
22 |
Partially correct |
15 ms |
388 KB |
Partially correct |
23 |
Partially correct |
18 ms |
384 KB |
Partially correct |
24 |
Partially correct |
17 ms |
388 KB |
Partially correct |
25 |
Partially correct |
11 ms |
384 KB |
Partially correct |
26 |
Partially correct |
14 ms |
384 KB |
Partially correct |
27 |
Partially correct |
17 ms |
384 KB |
Partially correct |
28 |
Partially correct |
13 ms |
384 KB |
Partially correct |
29 |
Partially correct |
12 ms |
468 KB |
Partially correct |
30 |
Partially correct |
19 ms |
384 KB |
Partially correct |
31 |
Partially correct |
18 ms |
384 KB |
Partially correct |
32 |
Partially correct |
15 ms |
384 KB |
Partially correct |
33 |
Partially correct |
17 ms |
404 KB |
Partially correct |
34 |
Partially correct |
14 ms |
384 KB |
Partially correct |
35 |
Partially correct |
17 ms |
384 KB |
Partially correct |
36 |
Partially correct |
16 ms |
404 KB |
Partially correct |
37 |
Partially correct |
19 ms |
384 KB |
Partially correct |
38 |
Partially correct |
18 ms |
384 KB |
Partially correct |
39 |
Partially correct |
17 ms |
384 KB |
Partially correct |
40 |
Partially correct |
18 ms |
388 KB |
Partially correct |
41 |
Partially correct |
18 ms |
384 KB |
Partially correct |
42 |
Partially correct |
15 ms |
388 KB |
Partially correct |
43 |
Partially correct |
19 ms |
384 KB |
Partially correct |
44 |
Partially correct |
19 ms |
384 KB |
Partially correct |
45 |
Partially correct |
13 ms |
384 KB |
Partially correct |
46 |
Partially correct |
20 ms |
388 KB |
Partially correct |
47 |
Partially correct |
19 ms |
384 KB |
Partially correct |
48 |
Partially correct |
17 ms |
384 KB |
Partially correct |
49 |
Partially correct |
16 ms |
384 KB |
Partially correct |
50 |
Partially correct |
19 ms |
384 KB |
Partially correct |
51 |
Partially correct |
20 ms |
384 KB |
Partially correct |
52 |
Partially correct |
18 ms |
384 KB |
Partially correct |
53 |
Partially correct |
20 ms |
384 KB |
Partially correct |
54 |
Partially correct |
18 ms |
384 KB |
Partially correct |
55 |
Partially correct |
19 ms |
464 KB |
Partially correct |
56 |
Partially correct |
30 ms |
388 KB |
Partially correct |
57 |
Partially correct |
28 ms |
384 KB |
Partially correct |
58 |
Partially correct |
30 ms |
384 KB |
Partially correct |
59 |
Partially correct |
24 ms |
384 KB |
Partially correct |
60 |
Partially correct |
24 ms |
384 KB |
Partially correct |
61 |
Partially correct |
17 ms |
384 KB |
Partially correct |
62 |
Partially correct |
21 ms |
384 KB |
Partially correct |
63 |
Partially correct |
22 ms |
384 KB |
Partially correct |
64 |
Partially correct |
24 ms |
384 KB |
Partially correct |
65 |
Partially correct |
22 ms |
384 KB |
Partially correct |
66 |
Partially correct |
24 ms |
404 KB |
Partially correct |
67 |
Partially correct |
19 ms |
384 KB |
Partially correct |
68 |
Partially correct |
28 ms |
384 KB |
Partially correct |
69 |
Partially correct |
20 ms |
384 KB |
Partially correct |
70 |
Partially correct |
22 ms |
384 KB |
Partially correct |
71 |
Partially correct |
21 ms |
384 KB |
Partially correct |
72 |
Partially correct |
25 ms |
384 KB |
Partially correct |
73 |
Partially correct |
27 ms |
480 KB |
Partially correct |
74 |
Partially correct |
26 ms |
384 KB |
Partially correct |
75 |
Partially correct |
20 ms |
404 KB |
Partially correct |
76 |
Partially correct |
23 ms |
384 KB |
Partially correct |
77 |
Partially correct |
22 ms |
384 KB |
Partially correct |
78 |
Partially correct |
19 ms |
472 KB |
Partially correct |
79 |
Partially correct |
22 ms |
464 KB |
Partially correct |
80 |
Partially correct |
23 ms |
388 KB |
Partially correct |
81 |
Partially correct |
21 ms |
384 KB |
Partially correct |
82 |
Partially correct |
20 ms |
384 KB |
Partially correct |
83 |
Partially correct |
23 ms |
384 KB |
Partially correct |
84 |
Partially correct |
20 ms |
384 KB |
Partially correct |
85 |
Partially correct |
25 ms |
384 KB |
Partially correct |
86 |
Partially correct |
22 ms |
384 KB |
Partially correct |
87 |
Partially correct |
23 ms |
384 KB |
Partially correct |
88 |
Partially correct |
25 ms |
388 KB |
Partially correct |
89 |
Partially correct |
23 ms |
472 KB |
Partially correct |
90 |
Partially correct |
28 ms |
388 KB |
Partially correct |
91 |
Partially correct |
25 ms |
384 KB |
Partially correct |
92 |
Partially correct |
24 ms |
468 KB |
Partially correct |
93 |
Partially correct |
22 ms |
496 KB |
Partially correct |
94 |
Partially correct |
20 ms |
388 KB |
Partially correct |
95 |
Partially correct |
18 ms |
472 KB |
Partially correct |
96 |
Partially correct |
27 ms |
556 KB |
Partially correct |
97 |
Partially correct |
22 ms |
384 KB |
Partially correct |
98 |
Partially correct |
18 ms |
384 KB |
Partially correct |
99 |
Partially correct |
20 ms |
384 KB |
Partially correct |
100 |
Partially correct |
22 ms |
384 KB |
Partially correct |
101 |
Partially correct |
31 ms |
384 KB |
Partially correct |
102 |
Partially correct |
26 ms |
468 KB |
Partially correct |
103 |
Partially correct |
23 ms |
384 KB |
Partially correct |
104 |
Partially correct |
24 ms |
384 KB |
Partially correct |
105 |
Partially correct |
23 ms |
388 KB |
Partially correct |
106 |
Partially correct |
25 ms |
384 KB |
Partially correct |
107 |
Partially correct |
20 ms |
384 KB |
Partially correct |
108 |
Partially correct |
23 ms |
384 KB |
Partially correct |
109 |
Partially correct |
15 ms |
388 KB |
Partially correct |
110 |
Partially correct |
20 ms |
384 KB |
Partially correct |
111 |
Partially correct |
20 ms |
404 KB |
Partially correct |
112 |
Partially correct |
24 ms |
388 KB |
Partially correct |
113 |
Partially correct |
24 ms |
384 KB |
Partially correct |
114 |
Partially correct |
24 ms |
528 KB |
Partially correct |
115 |
Partially correct |
22 ms |
384 KB |
Partially correct |
116 |
Partially correct |
24 ms |
384 KB |
Partially correct |
117 |
Partially correct |
25 ms |
384 KB |
Partially correct |
118 |
Partially correct |
20 ms |
384 KB |
Partially correct |
119 |
Partially correct |
27 ms |
384 KB |
Partially correct |
120 |
Partially correct |
874 ms |
604 KB |
Partially correct |
121 |
Partially correct |
839 ms |
668 KB |
Partially correct |
122 |
Partially correct |
816 ms |
652 KB |
Partially correct |
123 |
Partially correct |
804 ms |
588 KB |
Partially correct |
124 |
Partially correct |
844 ms |
656 KB |
Partially correct |
125 |
Partially correct |
850 ms |
592 KB |
Partially correct |
126 |
Partially correct |
932 ms |
604 KB |
Partially correct |
127 |
Partially correct |
865 ms |
752 KB |
Partially correct |
128 |
Partially correct |
832 ms |
592 KB |
Partially correct |
129 |
Partially correct |
760 ms |
672 KB |
Partially correct |
130 |
Partially correct |
865 ms |
592 KB |
Partially correct |
131 |
Partially correct |
823 ms |
636 KB |
Partially correct |
132 |
Partially correct |
756 ms |
636 KB |
Partially correct |
133 |
Partially correct |
845 ms |
668 KB |
Partially correct |
134 |
Partially correct |
787 ms |
716 KB |
Partially correct |
135 |
Partially correct |
771 ms |
692 KB |
Partially correct |
136 |
Partially correct |
832 ms |
668 KB |
Partially correct |
137 |
Partially correct |
807 ms |
720 KB |
Partially correct |
138 |
Partially correct |
876 ms |
820 KB |
Partially correct |
139 |
Partially correct |
773 ms |
696 KB |
Partially correct |
140 |
Partially correct |
918 ms |
660 KB |
Partially correct |
141 |
Partially correct |
806 ms |
736 KB |
Partially correct |
142 |
Partially correct |
806 ms |
672 KB |
Partially correct |
143 |
Partially correct |
803 ms |
752 KB |
Partially correct |
144 |
Partially correct |
755 ms |
636 KB |
Partially correct |
145 |
Partially correct |
863 ms |
676 KB |
Partially correct |
146 |
Partially correct |
723 ms |
824 KB |
Partially correct |
147 |
Partially correct |
779 ms |
760 KB |
Partially correct |
148 |
Partially correct |
762 ms |
592 KB |
Partially correct |
149 |
Partially correct |
820 ms |
692 KB |
Partially correct |
150 |
Partially correct |
813 ms |
644 KB |
Partially correct |
151 |
Partially correct |
835 ms |
776 KB |
Partially correct |
152 |
Partially correct |
741 ms |
748 KB |
Partially correct |
153 |
Partially correct |
798 ms |
704 KB |
Partially correct |
154 |
Partially correct |
809 ms |
820 KB |
Partially correct |
155 |
Partially correct |
814 ms |
856 KB |
Partially correct |
156 |
Partially correct |
869 ms |
880 KB |
Partially correct |
157 |
Partially correct |
804 ms |
696 KB |
Partially correct |
158 |
Partially correct |
853 ms |
748 KB |
Partially correct |
159 |
Partially correct |
821 ms |
652 KB |
Partially correct |
160 |
Partially correct |
836 ms |
692 KB |
Partially correct |
161 |
Partially correct |
844 ms |
592 KB |
Partially correct |
162 |
Partially correct |
832 ms |
836 KB |
Partially correct |
163 |
Partially correct |
815 ms |
720 KB |
Partially correct |
164 |
Partially correct |
732 ms |
748 KB |
Partially correct |
165 |
Partially correct |
786 ms |
956 KB |
Partially correct |
166 |
Partially correct |
822 ms |
752 KB |
Partially correct |
167 |
Partially correct |
780 ms |
692 KB |
Partially correct |
168 |
Partially correct |
752 ms |
888 KB |
Partially correct |
169 |
Partially correct |
770 ms |
604 KB |
Partially correct |
170 |
Partially correct |
907 ms |
680 KB |
Partially correct |
171 |
Partially correct |
782 ms |
796 KB |
Partially correct |
172 |
Partially correct |
766 ms |
696 KB |
Partially correct |
173 |
Partially correct |
757 ms |
660 KB |
Partially correct |
174 |
Partially correct |
742 ms |
684 KB |
Partially correct |
175 |
Partially correct |
781 ms |
892 KB |
Partially correct |
176 |
Partially correct |
763 ms |
860 KB |
Partially correct |
177 |
Partially correct |
740 ms |
700 KB |
Partially correct |
178 |
Partially correct |
732 ms |
664 KB |
Partially correct |
179 |
Partially correct |
808 ms |
676 KB |
Partially correct |
180 |
Partially correct |
785 ms |
760 KB |
Partially correct |
181 |
Partially correct |
756 ms |
748 KB |
Partially correct |
182 |
Partially correct |
753 ms |
708 KB |
Partially correct |
183 |
Partially correct |
788 ms |
708 KB |
Partially correct |
184 |
Partially correct |
846 ms |
668 KB |
Partially correct |
185 |
Partially correct |
747 ms |
692 KB |
Partially correct |
186 |
Partially correct |
722 ms |
776 KB |
Partially correct |
187 |
Partially correct |
735 ms |
780 KB |
Partially correct |
188 |
Partially correct |
812 ms |
820 KB |
Partially correct |
189 |
Partially correct |
728 ms |
868 KB |
Partially correct |
190 |
Partially correct |
835 ms |
732 KB |
Partially correct |
191 |
Partially correct |
742 ms |
656 KB |
Partially correct |
192 |
Partially correct |
790 ms |
840 KB |
Partially correct |
193 |
Partially correct |
729 ms |
700 KB |
Partially correct |
194 |
Partially correct |
825 ms |
848 KB |
Partially correct |
195 |
Partially correct |
817 ms |
644 KB |
Partially correct |
196 |
Partially correct |
835 ms |
832 KB |
Partially correct |
197 |
Partially correct |
767 ms |
692 KB |
Partially correct |
198 |
Partially correct |
736 ms |
664 KB |
Partially correct |
199 |
Partially correct |
868 ms |
724 KB |
Partially correct |
200 |
Partially correct |
805 ms |
668 KB |
Partially correct |
201 |
Partially correct |
800 ms |
688 KB |
Partially correct |
202 |
Partially correct |
910 ms |
632 KB |
Partially correct |
203 |
Partially correct |
847 ms |
780 KB |
Partially correct |
204 |
Partially correct |
912 ms |
628 KB |
Partially correct |
205 |
Partially correct |
758 ms |
932 KB |
Partially correct |
206 |
Partially correct |
803 ms |
772 KB |
Partially correct |
207 |
Partially correct |
900 ms |
712 KB |
Partially correct |
208 |
Partially correct |
782 ms |
692 KB |
Partially correct |
209 |
Partially correct |
800 ms |
656 KB |
Partially correct |
210 |
Partially correct |
557 ms |
692 KB |
Partially correct |
211 |
Partially correct |
551 ms |
676 KB |
Partially correct |
212 |
Partially correct |
566 ms |
720 KB |
Partially correct |
213 |
Partially correct |
621 ms |
596 KB |
Partially correct |
214 |
Partially correct |
598 ms |
624 KB |
Partially correct |
215 |
Partially correct |
569 ms |
704 KB |
Partially correct |
216 |
Partially correct |
613 ms |
708 KB |
Partially correct |
217 |
Partially correct |
559 ms |
712 KB |
Partially correct |
218 |
Partially correct |
561 ms |
628 KB |
Partially correct |
219 |
Partially correct |
701 ms |
752 KB |
Partially correct |
220 |
Partially correct |
620 ms |
636 KB |
Partially correct |
221 |
Partially correct |
623 ms |
640 KB |
Partially correct |
222 |
Partially correct |
596 ms |
844 KB |
Partially correct |
223 |
Partially correct |
577 ms |
796 KB |
Partially correct |
224 |
Partially correct |
561 ms |
860 KB |
Partially correct |
225 |
Partially correct |
579 ms |
720 KB |
Partially correct |
226 |
Partially correct |
600 ms |
656 KB |
Partially correct |