# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
845013 | 2023-09-06T11:01:11 Z | JoksimKaktus | Soccer Stadium (IOI23_soccer) | C++17 | 4500 ms | 47376 KB |
#include "soccer.h" #include "bits/stdc++.h" using namespace std; std::vector<std::vector<int>> f; bool check(int i1,int j1,int i2,int j2){ if(i1 < i2){ int temp = i1; i1 = i2; i2 = temp; temp = j1; j1 = j2; j2 = temp; } bool way = true; for(int i = i1;i >= i2;i--){ if(f[i][j1] == 1){ way = false; break; } } if(way){ if(j1 >= j2){ for(int j = j1;j >= j2;j--){ if(f[i2][j] == 1){ way = false; break; } } }else{ for(int j = j1;j <= j2;j++){ if(f[i2][j] == 1){ way = false; break; } } } } if(!way){ way = true; if(j1 >= j2){ for(int j = j1;j >= j2;j--){ if(f[i1][j] == 1){ way = false; break; } } }else{ for(int j = j1;j <= j2;j++){ if(f[i1][j] == 1){ way = false; break; } } } if(way){ for(int i = i1;i >= i2;i--){ if(f[i][j2] == 1){ return false; } } }else{ return false; } } return true; } int biggest_stadium(int N, std::vector<std::vector<int>> F) { f = std::vector<std::vector<int>>(N, std::vector<int>(N, 0)); for(int i = 0;i < N;i++){ for(int j = 0;j < N;j++){ f[i][j] = F[i][j]; } } int n,s,e,w; n = N; s = 0; w = N; e = 0; int num = 0; for(int i = 0; i < N;i++){ int con = 0; for(int j = 0;j < N;j++){ if(F[i][j] == 1){ num++; if(con == 1){ con = 2; } }else{ n = min(n,i); s = i; if(con == 0){ con = 1; }else if(con == 2){ return 1; } } } } for(int i = 0;i < N;i++){ for(int j = 0;j < N;j++){ if(F[i][j] == 0){ for(int i2 = i+1;i2 < N;i2++){ for(int j2 = 0;j2 < N;j2++){ if(F[i2][j2] == 0){ if(!check(i,j,i2,j2)){ return 1; } } } } } } } /* for(int j = 0; j < N;j++){ int con = 0; for(int i = 0;i < N;i++){ if(F[i][j] == 1){ if(con == 1){ con = 2; } }else{ w = min(w,j); e = j; if(con == 0){ con = 1; }else if(con == 2){ return 1; } } } } for(int j = 0;j < N;j++){ if(F[n][j] == 0){ for(int i = 0;i < N;i++){ if(F[s][i] == 0){ bool way1 = true; bool way1m = true; bool way2 = true; bool way2m = true; for(int k = j; k <= i;k++){ if(F[n][k] == 1){ way1 = false; break; } } for(int k = j; k >= i;k--){ if(F[n][k] == 1){ way1m = false; break; } } if(way1 || (way1m && (j > i))){ for(int k = n;k <= s;k++){ if(F[k][i] == 1){ way1 = false; break; } } for(int k = n;k >= s;k--){ if(F[k][i] == 1){ way1m = false; break; } } } if(j < i){ way1m = false; } if(!way1 && !way1m){ for(int k = n;k <= s;k++){ if(F[k][j] == 1){ way2 = false; break; } } for(int k = n;k >= s;k--){ if(F[k][j] == 1){ way2m = false; break; } } if(way2 || (way2m && (j > i))){ for(int k = j; k <= i;k++){ if(F[s][k] == 1){ way2 = false; break; } } for(int k = j; k >= i;k--){ if(F[s][k] == 1){ way2m = false; break; } } if(j < i){ way2m = false; } if(!way2 && !way2m){ return 1; } }else{ return 1; } } } } } } for(int j = 0;j < N;j++){ if(F[j][w] == 0){ for(int i = 0;i < N;i++){ if(F[i][e] == 0){ bool way1 = true; bool way1m = true; bool way2 = true; bool way2m = true; for(int k = j; k <= i;k++){ if(F[k][w] == 1){ way1 = false; break; } } for(int k = j; k >= i;k--){ if(F[k][w] == 1){ way1m = false; break; } } if(way1 || (way1m && (j > i))){ for(int k = w;k <= e;k++){ if(F[i][k] == 1){ way1 = false; break; } } for(int k = w;k >= e;k--){ if(F[i][k] == 1){ way1m = false; break; } } }if(j < i){ way1m = false; } if(!way1 && !way1m){ for(int k = w;k <= e;k++){ if(F[j][k] == 1){ way2 = false; break; } } for(int k = w;k >= e;k--){ if(F[j][k] == 1){ way2m = false; break; } } if(way2 || (way2m && (j > i))){ for(int k = j; k <= i;k++){ if(F[k][e] == 1){ way2 = false; break; } } for(int k = j; k >= i;k--){ if(F[k][e] == 1){ way2m = false; break; } } if(j < i){ way2m = false; } if(!way2 && !way2m){ return 1; } }else{ return 1; } } } } } } for(int i = 0;i < N;i++){ if(F[n][i] == 0){ for(int j = 0;j < N;j++){ if(F[j][w] == 0){ if(!check(n,i,j,w)){ return 1; } } } for(int j = 0;j < N;j++){ if(F[j][e] == 0){ if(!check(n,i,j,e)){ return 1; } } } } if(F[s][i] == 0){ for(int j = 0;j < N;j++){ if(F[j][w] == 0){ if(!check(s,i,j,w)){ return 1; } } } for(int j = 0;j < N;j++){ if(F[j][e] == 0){ if(!check(s,i,j,e)){ return 1; } } } } } */ return N*N-num; } /* 7 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 */
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Partially correct | 0 ms | 344 KB | partial |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | ok |
2 | Correct | 0 ms | 348 KB | ok |
3 | Correct | 0 ms | 348 KB | ok |
4 | Correct | 0 ms | 348 KB | ok |
5 | Correct | 0 ms | 348 KB | ok |
6 | Partially correct | 0 ms | 348 KB | partial |
7 | Partially correct | 1 ms | 348 KB | partial |
8 | Partially correct | 15 ms | 3228 KB | partial |
9 | Partially correct | 229 ms | 47376 KB | partial |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | ok |
2 | Correct | 0 ms | 348 KB | ok |
3 | Partially correct | 0 ms | 348 KB | partial |
4 | Partially correct | 0 ms | 348 KB | partial |
5 | Partially correct | 0 ms | 348 KB | partial |
6 | Partially correct | 0 ms | 348 KB | partial |
7 | Partially correct | 0 ms | 348 KB | partial |
8 | Correct | 0 ms | 600 KB | ok |
9 | Correct | 0 ms | 348 KB | ok |
10 | Partially correct | 0 ms | 348 KB | partial |
11 | Partially correct | 0 ms | 348 KB | partial |
12 | Partially correct | 0 ms | 348 KB | partial |
13 | Correct | 0 ms | 348 KB | ok |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Partially correct | 0 ms | 344 KB | partial |
2 | Correct | 0 ms | 348 KB | ok |
3 | Correct | 0 ms | 348 KB | ok |
4 | Partially correct | 0 ms | 348 KB | partial |
5 | Partially correct | 0 ms | 348 KB | partial |
6 | Partially correct | 0 ms | 348 KB | partial |
7 | Partially correct | 0 ms | 348 KB | partial |
8 | Partially correct | 0 ms | 348 KB | partial |
9 | Correct | 0 ms | 600 KB | ok |
10 | Correct | 0 ms | 348 KB | ok |
11 | Partially correct | 0 ms | 348 KB | partial |
12 | Partially correct | 0 ms | 348 KB | partial |
13 | Partially correct | 0 ms | 348 KB | partial |
14 | Correct | 0 ms | 348 KB | ok |
15 | Partially correct | 0 ms | 348 KB | partial |
16 | Partially correct | 0 ms | 348 KB | partial |
17 | Partially correct | 0 ms | 348 KB | partial |
18 | Partially correct | 0 ms | 348 KB | partial |
19 | Partially correct | 0 ms | 348 KB | partial |
20 | Correct | 0 ms | 348 KB | ok |
21 | Correct | 1 ms | 348 KB | ok |
22 | Partially correct | 0 ms | 344 KB | partial |
23 | Partially correct | 0 ms | 344 KB | partial |
24 | Partially correct | 0 ms | 600 KB | partial |
25 | Partially correct | 0 ms | 348 KB | partial |
26 | Partially correct | 0 ms | 348 KB | partial |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Partially correct | 0 ms | 344 KB | partial |
2 | Correct | 0 ms | 348 KB | ok |
3 | Correct | 0 ms | 348 KB | ok |
4 | Correct | 0 ms | 348 KB | ok |
5 | Correct | 0 ms | 348 KB | ok |
6 | Partially correct | 0 ms | 348 KB | partial |
7 | Partially correct | 0 ms | 348 KB | partial |
8 | Partially correct | 0 ms | 348 KB | partial |
9 | Partially correct | 0 ms | 348 KB | partial |
10 | Partially correct | 0 ms | 348 KB | partial |
11 | Correct | 0 ms | 600 KB | ok |
12 | Correct | 0 ms | 348 KB | ok |
13 | Partially correct | 0 ms | 348 KB | partial |
14 | Partially correct | 0 ms | 348 KB | partial |
15 | Partially correct | 0 ms | 348 KB | partial |
16 | Correct | 0 ms | 348 KB | ok |
17 | Partially correct | 0 ms | 348 KB | partial |
18 | Partially correct | 0 ms | 348 KB | partial |
19 | Partially correct | 0 ms | 348 KB | partial |
20 | Partially correct | 0 ms | 348 KB | partial |
21 | Partially correct | 0 ms | 348 KB | partial |
22 | Correct | 0 ms | 348 KB | ok |
23 | Correct | 1 ms | 348 KB | ok |
24 | Partially correct | 0 ms | 344 KB | partial |
25 | Partially correct | 0 ms | 344 KB | partial |
26 | Partially correct | 0 ms | 600 KB | partial |
27 | Partially correct | 0 ms | 348 KB | partial |
28 | Partially correct | 0 ms | 348 KB | partial |
29 | Partially correct | 0 ms | 348 KB | partial |
30 | Partially correct | 0 ms | 348 KB | partial |
31 | Partially correct | 1 ms | 348 KB | partial |
32 | Partially correct | 0 ms | 348 KB | partial |
33 | Partially correct | 0 ms | 348 KB | partial |
34 | Correct | 1 ms | 344 KB | ok |
35 | Correct | 1 ms | 348 KB | ok |
36 | Partially correct | 0 ms | 348 KB | partial |
37 | Partially correct | 0 ms | 348 KB | partial |
38 | Partially correct | 0 ms | 348 KB | partial |
39 | Partially correct | 0 ms | 348 KB | partial |
40 | Partially correct | 0 ms | 348 KB | partial |
41 | Partially correct | 0 ms | 600 KB | partial |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Partially correct | 0 ms | 344 KB | partial |
2 | Correct | 0 ms | 348 KB | ok |
3 | Correct | 0 ms | 348 KB | ok |
4 | Correct | 0 ms | 348 KB | ok |
5 | Correct | 0 ms | 348 KB | ok |
6 | Partially correct | 0 ms | 348 KB | partial |
7 | Partially correct | 0 ms | 348 KB | partial |
8 | Partially correct | 0 ms | 348 KB | partial |
9 | Partially correct | 0 ms | 348 KB | partial |
10 | Partially correct | 0 ms | 348 KB | partial |
11 | Correct | 0 ms | 600 KB | ok |
12 | Correct | 0 ms | 348 KB | ok |
13 | Partially correct | 0 ms | 348 KB | partial |
14 | Partially correct | 0 ms | 348 KB | partial |
15 | Partially correct | 0 ms | 348 KB | partial |
16 | Correct | 0 ms | 348 KB | ok |
17 | Partially correct | 0 ms | 348 KB | partial |
18 | Partially correct | 0 ms | 348 KB | partial |
19 | Partially correct | 0 ms | 348 KB | partial |
20 | Partially correct | 0 ms | 348 KB | partial |
21 | Partially correct | 0 ms | 348 KB | partial |
22 | Correct | 0 ms | 348 KB | ok |
23 | Correct | 1 ms | 348 KB | ok |
24 | Partially correct | 0 ms | 344 KB | partial |
25 | Partially correct | 0 ms | 344 KB | partial |
26 | Partially correct | 0 ms | 600 KB | partial |
27 | Partially correct | 0 ms | 348 KB | partial |
28 | Partially correct | 0 ms | 348 KB | partial |
29 | Partially correct | 0 ms | 348 KB | partial |
30 | Partially correct | 0 ms | 348 KB | partial |
31 | Partially correct | 1 ms | 348 KB | partial |
32 | Partially correct | 0 ms | 348 KB | partial |
33 | Partially correct | 0 ms | 348 KB | partial |
34 | Correct | 1 ms | 344 KB | ok |
35 | Correct | 1 ms | 348 KB | ok |
36 | Partially correct | 0 ms | 348 KB | partial |
37 | Partially correct | 0 ms | 348 KB | partial |
38 | Partially correct | 0 ms | 348 KB | partial |
39 | Partially correct | 0 ms | 348 KB | partial |
40 | Partially correct | 0 ms | 348 KB | partial |
41 | Partially correct | 0 ms | 600 KB | partial |
42 | Partially correct | 15 ms | 3420 KB | partial |
43 | Partially correct | 15 ms | 3416 KB | partial |
44 | Partially correct | 15 ms | 3420 KB | partial |
45 | Partially correct | 15 ms | 3420 KB | partial |
46 | Partially correct | 15 ms | 3480 KB | partial |
47 | Partially correct | 15 ms | 3420 KB | partial |
48 | Execution timed out | 4575 ms | 3228 KB | Time limit exceeded |
49 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Partially correct | 0 ms | 344 KB | partial |
2 | Correct | 0 ms | 348 KB | ok |
3 | Correct | 0 ms | 348 KB | ok |
4 | Correct | 0 ms | 348 KB | ok |
5 | Correct | 0 ms | 348 KB | ok |
6 | Correct | 0 ms | 348 KB | ok |
7 | Partially correct | 0 ms | 348 KB | partial |
8 | Partially correct | 1 ms | 348 KB | partial |
9 | Partially correct | 15 ms | 3228 KB | partial |
10 | Partially correct | 229 ms | 47376 KB | partial |
11 | Partially correct | 0 ms | 348 KB | partial |
12 | Partially correct | 0 ms | 348 KB | partial |
13 | Partially correct | 0 ms | 348 KB | partial |
14 | Partially correct | 0 ms | 348 KB | partial |
15 | Partially correct | 0 ms | 348 KB | partial |
16 | Correct | 0 ms | 600 KB | ok |
17 | Correct | 0 ms | 348 KB | ok |
18 | Partially correct | 0 ms | 348 KB | partial |
19 | Partially correct | 0 ms | 348 KB | partial |
20 | Partially correct | 0 ms | 348 KB | partial |
21 | Correct | 0 ms | 348 KB | ok |
22 | Partially correct | 0 ms | 348 KB | partial |
23 | Partially correct | 0 ms | 348 KB | partial |
24 | Partially correct | 0 ms | 348 KB | partial |
25 | Partially correct | 0 ms | 348 KB | partial |
26 | Partially correct | 0 ms | 348 KB | partial |
27 | Correct | 0 ms | 348 KB | ok |
28 | Correct | 1 ms | 348 KB | ok |
29 | Partially correct | 0 ms | 344 KB | partial |
30 | Partially correct | 0 ms | 344 KB | partial |
31 | Partially correct | 0 ms | 600 KB | partial |
32 | Partially correct | 0 ms | 348 KB | partial |
33 | Partially correct | 0 ms | 348 KB | partial |
34 | Partially correct | 0 ms | 348 KB | partial |
35 | Partially correct | 0 ms | 348 KB | partial |
36 | Partially correct | 1 ms | 348 KB | partial |
37 | Partially correct | 0 ms | 348 KB | partial |
38 | Partially correct | 0 ms | 348 KB | partial |
39 | Correct | 1 ms | 344 KB | ok |
40 | Correct | 1 ms | 348 KB | ok |
41 | Partially correct | 0 ms | 348 KB | partial |
42 | Partially correct | 0 ms | 348 KB | partial |
43 | Partially correct | 0 ms | 348 KB | partial |
44 | Partially correct | 0 ms | 348 KB | partial |
45 | Partially correct | 0 ms | 348 KB | partial |
46 | Partially correct | 0 ms | 600 KB | partial |
47 | Partially correct | 15 ms | 3420 KB | partial |
48 | Partially correct | 15 ms | 3416 KB | partial |
49 | Partially correct | 15 ms | 3420 KB | partial |
50 | Partially correct | 15 ms | 3420 KB | partial |
51 | Partially correct | 15 ms | 3480 KB | partial |
52 | Partially correct | 15 ms | 3420 KB | partial |
53 | Execution timed out | 4575 ms | 3228 KB | Time limit exceeded |
54 | Halted | 0 ms | 0 KB | - |