#include "coprobber.h"
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <set>
#include <cstdlib>
#include <vector>
#include <map>
#include <queue>
#define X first
#define Y second
#define PB push_back
using namespace std;
const int INF = 0x3f3f3f3f;
typedef pair < int, int > pii;
typedef pair < pii, int > ppi;
int pob[MAX_N][MAX_N][2], n;
int u[MAX_N][MAX_N], cur, a[MAX_N][MAX_N], tag[MAX_N][MAX_N];
vector < ppi > v[MAX_N][MAX_N][2];
queue < ppi > Q;
int start(int N, bool A[MAX_N][MAX_N]){
n = N;
// 0 je cajo na potezu 1 je lopov
//for(int i = 0;i < n;i++) A[i][i] = 1;
for(int i = 0;i < n;i++){
for(int j = 0;j < n;j++){
if(A[i][j]){
a[i][j] = 1;
for(int k = 0;k < n;k++)
u[k][i]++;
}
}
}
for(int i = 0;i < n;i++){
pob[i][i][1] = 1;
Q.push({{i, i}, 1});
}
for(;!Q.empty();){
int x = Q.front().X.X;
int y = Q.front().X.Y;
int z = Q.front().Y;
Q.pop();
for(int w = 0;w < n;w++){
if(z && (A[w][x] || w == x)){
if(pob[w][y][0]) continue;
pob[w][y][0] = 1;
tag[w][y] = x;
Q.push({{w, y}, 0});
}
else if(!z && A[w][y]){
if(pob[x][w][1]) continue;
u[x][w]--;
if(!u[x][w]){
pob[x][w][1] = 1;
Q.push({{x, w}, 1});
}
}
}
}
for(int i = 0;i < n;i++){
for(int j = 0;j < n;j++){
if(!pob[i][j][0] || !pob[i][j][1]) return -1;
}
}
return 0;
}
int nextMove(int R){
return cur = tag[cur][R];
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
13 ms |
12132 KB |
Output is correct |
2 |
Correct |
28 ms |
12280 KB |
Output is correct |
3 |
Correct |
13 ms |
12160 KB |
Output is correct |
4 |
Correct |
362 ms |
18388 KB |
Output is correct |
5 |
Correct |
64 ms |
15096 KB |
Output is correct |
6 |
Correct |
485 ms |
18936 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
12 ms |
12160 KB |
Output is correct |
2 |
Correct |
13 ms |
12288 KB |
Output is correct |
3 |
Correct |
368 ms |
18396 KB |
Output is correct |
4 |
Correct |
363 ms |
18424 KB |
Output is correct |
5 |
Correct |
359 ms |
18296 KB |
Output is correct |
6 |
Correct |
376 ms |
18296 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
11 ms |
12032 KB |
Output is correct |
2 |
Correct |
11 ms |
12160 KB |
Output is correct |
3 |
Correct |
11 ms |
12160 KB |
Output is correct |
4 |
Correct |
12 ms |
12160 KB |
Output is correct |
5 |
Correct |
11 ms |
12160 KB |
Output is correct |
6 |
Correct |
12 ms |
12160 KB |
Output is correct |
7 |
Correct |
12 ms |
12160 KB |
Output is correct |
8 |
Correct |
12 ms |
12160 KB |
Output is correct |
9 |
Correct |
19 ms |
12288 KB |
Output is correct |
10 |
Correct |
15 ms |
13184 KB |
Output is correct |
11 |
Correct |
16 ms |
13104 KB |
Output is correct |
12 |
Correct |
14 ms |
12416 KB |
Output is correct |
13 |
Correct |
13 ms |
12800 KB |
Output is correct |
14 |
Correct |
16 ms |
13056 KB |
Output is correct |
15 |
Correct |
13 ms |
12672 KB |
Output is correct |
16 |
Correct |
14 ms |
12672 KB |
Output is correct |
17 |
Correct |
20 ms |
13440 KB |
Output is correct |
18 |
Correct |
14 ms |
13056 KB |
Output is correct |
19 |
Correct |
12 ms |
12160 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
13 ms |
12160 KB |
Output is correct |
2 |
Correct |
12 ms |
12160 KB |
Output is correct |
3 |
Correct |
12 ms |
12160 KB |
Output is correct |
4 |
Correct |
360 ms |
18424 KB |
Output is correct |
5 |
Correct |
59 ms |
15096 KB |
Output is correct |
6 |
Correct |
437 ms |
18652 KB |
Output is correct |
7 |
Correct |
12 ms |
12160 KB |
Output is correct |
8 |
Correct |
12 ms |
12288 KB |
Output is correct |
9 |
Correct |
373 ms |
18608 KB |
Output is correct |
10 |
Correct |
350 ms |
18424 KB |
Output is correct |
11 |
Correct |
355 ms |
18376 KB |
Output is correct |
12 |
Correct |
429 ms |
18296 KB |
Output is correct |
13 |
Correct |
12 ms |
12160 KB |
Output is correct |
14 |
Correct |
11 ms |
12156 KB |
Output is correct |
15 |
Correct |
13 ms |
12160 KB |
Output is correct |
16 |
Correct |
12 ms |
12288 KB |
Output is correct |
17 |
Correct |
14 ms |
13056 KB |
Output is correct |
18 |
Correct |
16 ms |
13184 KB |
Output is correct |
19 |
Correct |
14 ms |
12348 KB |
Output is correct |
20 |
Correct |
13 ms |
12800 KB |
Output is correct |
21 |
Correct |
16 ms |
13156 KB |
Output is correct |
22 |
Correct |
13 ms |
12672 KB |
Output is correct |
23 |
Correct |
29 ms |
12740 KB |
Output is correct |
24 |
Correct |
21 ms |
13412 KB |
Output is correct |
25 |
Correct |
13 ms |
13184 KB |
Output is correct |
26 |
Correct |
18 ms |
14080 KB |
Output is correct |
27 |
Correct |
29 ms |
16248 KB |
Output is correct |
28 |
Correct |
42 ms |
17272 KB |
Output is correct |
29 |
Correct |
656 ms |
21368 KB |
Output is correct |
30 |
Correct |
147 ms |
17836 KB |
Output is correct |
31 |
Correct |
171 ms |
18216 KB |
Output is correct |
32 |
Correct |
637 ms |
20428 KB |
Output is correct |
33 |
Correct |
156 ms |
18056 KB |
Output is correct |
34 |
Correct |
764 ms |
21148 KB |
Output is correct |
35 |
Correct |
418 ms |
18808 KB |
Output is correct |
36 |
Correct |
827 ms |
20148 KB |
Output is correct |
37 |
Correct |
380 ms |
17740 KB |
Output is correct |
38 |
Correct |
12 ms |
12160 KB |
Output is correct |