/* Ignut
started: 13.08.2024
now: 13.08.2024
████████████████████████████████████████████████████████████████████
████████████████████████████████ ████████████████████████████████
██████████████████████████████ ██████████████████████████████
██████ ██████████████████ ██████████████████ ██████
██████ ██████████████ ██████████████ ██████
██████ ██ ████████████ ████████████ ██ ██████
██████ ████ ██████████ ██████████ ████ ██████
██████ ████ ██████████ ██████████ ████ ██████
██████ ████ ██████████ ██████████ ██████ ██████
██████ ██████ ██████████ ██████████ ██████ ██████
██████ ██████ ████████ ████████ ██████ ██████
██████ ██████ ██████ ██████ ██████ ██████
██████ ████ ████ ████ ████ ██████
██████ ██████████ ████ ██████████ ██████
██████ ██ ██████ ████████ ██████ ██ ██████
██████ ██████ ████████ ██████ ██████
██████ ██ ██ ██████
██████████████████████ ████ ████ ██████████████████████
████████████████████████ ██ ██ ████████████████████████
██████████████████████████ ██████████████████████████
██████████████████████████████ ██████████████████████████████
████████████████████████████████████████████████████████████████████
*/
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int MAXN = 2222;
int n;
vector<vector<int>> f;
bool used[MAXN][MAXN];
vector<pair<int, int>> delta = {{0, -1}, {0, 1}, {-1, 0}, {1, 0}};
bool Good(int i, int j) {
return i >= 0 && j >= 0 && i < n && j < n && f[i][j] == 0 && !used[i][j];
}
int cnt = 0;
void dfs(int i, int j) {
cnt ++;
used[i][j] = true;
for (auto [di, dj] : delta) {
int ci = i + di, cj = j + dj;
if (Good(ci, cj)) {
dfs(ci, cj);
}
}
}
int Check() {
for (int i = 0; i < n; i ++)
for (int j = 0; j < n; j ++)
used[i][j] = false;
int prev_l = -1, prev_r = -1;
bool have_sm = false;
for (int i = 0; i < n; i ++) {
int first = -1, last = -1, cnt = 0;
for (int j = 0; j < n; j ++) {
if (f[i][j] == 1) continue;
if (first == -1) first = j;
last = j;
cnt ++;
}
if (cnt > 0 && cnt != last - first + 1) return 1;
if (prev_l == -1) {
prev_l = first;
prev_r = last;
continue;
}
if (cnt == 0) continue;
bool sm = false;
if (first > prev_l || last < prev_r) sm = true;
bool bg = false;
if (first < prev_l || last > prev_r) bg = true;
if (sm && bg) return 1;
if (bg && have_sm) return 1;
if (sm) have_sm = true;
prev_l = first;
prev_r = last;
}
prev_l = -1, prev_r = -1;
have_sm = false;
for (int j = 0; j < n; j ++) {
int first = -1, last = -1, cnt = 0;
for (int i = 0; i < n; i ++) {
if (f[i][j] == 1) continue;
if (first == -1) first = i;
last = i;
cnt ++;
}
if (cnt > 0 && cnt != last - first + 1) return 1;
if (prev_l == -1) {
prev_l = first;
prev_r = last;
continue;
}
if (cnt == 0) continue;
bool sm = false;
if (first > prev_l || last < prev_r) sm = true;
bool bg = false;
if (first < prev_l || last > prev_r) bg = true;
if (sm && bg) return 1;
if (bg && have_sm) return 1;
if (sm) have_sm = true;
prev_l = first;
prev_r = last;
}
for (int i = 0; i < n; i ++) {
for (int j = 0; j < n; j ++) {
if (f[i][j] == 1) continue;
int up = 0;
for (int ii = i; ii >= 0; ii --) {
if (f[ii][j] == 1) break;
up ++;
}
int left = 0;
for (int jj = j; jj >= 0; jj --) {
if (f[i][jj] == 1) break;
left ++;
}
if (Good(i - up, j - left)) return 1;
int right = 0;
for (int jj = j; jj < n; jj ++) {
if (f[i][jj] == 1) break;
right ++;
}
if (Good(i - up, j + right)) return 1;
}
}
int i0, j0;
for (int i = 0; i < n; i ++)
for (int j = 0; j < n; j ++)
if (f[i][j] == 0)
i0 = i, j0 = j;
cnt = 0;
dfs(i0, j0);
int sum = n * n;
for (int i = 0; i < n; i ++)
for (int j = 0; j < n; j ++)
sum -= f[i][j];
if (cnt != sum) return 1;
return sum;
}
int biggest_stadium(int N, vector<vector<int>> F) {
int cntT = 0;
for (int i = 0; i < N; i ++)
for (int j = 0; j < N; j ++)
cntT += F[i][j];
if (cntT <= 1) {
for (int i = 0; i < N; i ++) {
for (int j = 0; j < N; j ++) {
if (F[i][j] == 0) continue;
int mn = N * N;
mn = min(mn, (i + 1) * (j + 1));
mn = min(mn, (N - i) * (N - j));
mn = min(mn, (N - i) * (j + 1));
mn = min(mn, (i + 1) * (N - j));
return N * N - mn;
}
}
return N * N;
}
n = N;
f = F;
return Check();
}
Compilation message
soccer.cpp: In function 'int Check()':
soccer.cpp:155:8: warning: 'j0' may be used uninitialized in this function [-Wmaybe-uninitialized]
155 | dfs(i0, j0);
| ~~~^~~~~~~~
soccer.cpp:155:8: warning: 'i0' may be used uninitialized in this function [-Wmaybe-uninitialized]
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
0 ms |
348 KB |
partial |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 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 |
1 ms |
348 KB |
ok |
6 |
Correct |
0 ms |
348 KB |
ok |
7 |
Correct |
1 ms |
348 KB |
ok |
8 |
Correct |
11 ms |
2216 KB |
ok |
9 |
Correct |
171 ms |
31792 KB |
ok |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
348 KB |
ok |
2 |
Correct |
0 ms |
348 KB |
ok |
3 |
Partially correct |
0 ms |
344 KB |
partial |
4 |
Partially correct |
0 ms |
344 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 |
344 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 |
344 KB |
partial |
13 |
Correct |
0 ms |
348 KB |
ok |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
0 ms |
348 KB |
partial |
2 |
Correct |
1 ms |
348 KB |
ok |
3 |
Correct |
0 ms |
348 KB |
ok |
4 |
Partially correct |
0 ms |
344 KB |
partial |
5 |
Partially correct |
0 ms |
344 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 |
344 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 |
344 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 |
0 ms |
344 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 |
1 ms |
348 KB |
partial |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
0 ms |
348 KB |
partial |
2 |
Correct |
1 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 |
344 KB |
partial |
7 |
Partially correct |
0 ms |
344 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 |
344 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 |
344 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 |
0 ms |
344 KB |
ok |
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 |
Partially correct |
0 ms |
348 KB |
partial |
28 |
Partially correct |
1 ms |
348 KB |
partial |
29 |
Partially correct |
0 ms |
344 KB |
partial |
30 |
Partially correct |
0 ms |
348 KB |
partial |
31 |
Partially correct |
0 ms |
348 KB |
partial |
32 |
Partially correct |
0 ms |
348 KB |
partial |
33 |
Partially correct |
0 ms |
348 KB |
partial |
34 |
Correct |
0 ms |
348 KB |
ok |
35 |
Correct |
0 ms |
348 KB |
ok |
36 |
Partially correct |
0 ms |
348 KB |
partial |
37 |
Partially correct |
1 ms |
348 KB |
partial |
38 |
Partially correct |
0 ms |
348 KB |
partial |
39 |
Partially correct |
0 ms |
348 KB |
partial |
40 |
Partially correct |
1 ms |
348 KB |
partial |
41 |
Partially correct |
0 ms |
348 KB |
partial |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
0 ms |
348 KB |
partial |
2 |
Correct |
1 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 |
344 KB |
partial |
7 |
Partially correct |
0 ms |
344 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 |
344 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 |
344 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 |
0 ms |
344 KB |
ok |
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 |
Partially correct |
0 ms |
348 KB |
partial |
28 |
Partially correct |
1 ms |
348 KB |
partial |
29 |
Partially correct |
0 ms |
344 KB |
partial |
30 |
Partially correct |
0 ms |
348 KB |
partial |
31 |
Partially correct |
0 ms |
348 KB |
partial |
32 |
Partially correct |
0 ms |
348 KB |
partial |
33 |
Partially correct |
0 ms |
348 KB |
partial |
34 |
Correct |
0 ms |
348 KB |
ok |
35 |
Correct |
0 ms |
348 KB |
ok |
36 |
Partially correct |
0 ms |
348 KB |
partial |
37 |
Partially correct |
1 ms |
348 KB |
partial |
38 |
Partially correct |
0 ms |
348 KB |
partial |
39 |
Partially correct |
0 ms |
348 KB |
partial |
40 |
Partially correct |
1 ms |
348 KB |
partial |
41 |
Partially correct |
0 ms |
348 KB |
partial |
42 |
Partially correct |
11 ms |
5468 KB |
partial |
43 |
Partially correct |
21 ms |
5464 KB |
partial |
44 |
Partially correct |
12 ms |
5464 KB |
partial |
45 |
Partially correct |
20 ms |
5468 KB |
partial |
46 |
Partially correct |
20 ms |
5456 KB |
partial |
47 |
Partially correct |
11 ms |
5468 KB |
partial |
48 |
Correct |
45 ms |
10492 KB |
ok |
49 |
Partially correct |
11 ms |
5468 KB |
partial |
50 |
Partially correct |
11 ms |
5468 KB |
partial |
51 |
Partially correct |
11 ms |
5468 KB |
partial |
52 |
Partially correct |
18 ms |
5468 KB |
partial |
53 |
Partially correct |
16 ms |
5464 KB |
partial |
54 |
Partially correct |
14 ms |
5468 KB |
partial |
55 |
Partially correct |
17 ms |
5464 KB |
partial |
56 |
Partially correct |
11 ms |
5468 KB |
partial |
57 |
Partially correct |
11 ms |
5468 KB |
partial |
58 |
Partially correct |
10 ms |
5468 KB |
partial |
59 |
Partially correct |
20 ms |
5468 KB |
partial |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
0 ms |
348 KB |
partial |
2 |
Correct |
1 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 |
1 ms |
348 KB |
ok |
7 |
Correct |
0 ms |
348 KB |
ok |
8 |
Correct |
1 ms |
348 KB |
ok |
9 |
Correct |
11 ms |
2216 KB |
ok |
10 |
Correct |
171 ms |
31792 KB |
ok |
11 |
Partially correct |
0 ms |
344 KB |
partial |
12 |
Partially correct |
0 ms |
344 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 |
344 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 |
344 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 |
0 ms |
344 KB |
ok |
29 |
Partially correct |
0 ms |
348 KB |
partial |
30 |
Partially correct |
0 ms |
348 KB |
partial |
31 |
Partially correct |
0 ms |
348 KB |
partial |
32 |
Partially correct |
0 ms |
348 KB |
partial |
33 |
Partially correct |
1 ms |
348 KB |
partial |
34 |
Partially correct |
0 ms |
344 KB |
partial |
35 |
Partially correct |
0 ms |
348 KB |
partial |
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 |
Correct |
0 ms |
348 KB |
ok |
40 |
Correct |
0 ms |
348 KB |
ok |
41 |
Partially correct |
0 ms |
348 KB |
partial |
42 |
Partially correct |
1 ms |
348 KB |
partial |
43 |
Partially correct |
0 ms |
348 KB |
partial |
44 |
Partially correct |
0 ms |
348 KB |
partial |
45 |
Partially correct |
1 ms |
348 KB |
partial |
46 |
Partially correct |
0 ms |
348 KB |
partial |
47 |
Partially correct |
11 ms |
5468 KB |
partial |
48 |
Partially correct |
21 ms |
5464 KB |
partial |
49 |
Partially correct |
12 ms |
5464 KB |
partial |
50 |
Partially correct |
20 ms |
5468 KB |
partial |
51 |
Partially correct |
20 ms |
5456 KB |
partial |
52 |
Partially correct |
11 ms |
5468 KB |
partial |
53 |
Correct |
45 ms |
10492 KB |
ok |
54 |
Partially correct |
11 ms |
5468 KB |
partial |
55 |
Partially correct |
11 ms |
5468 KB |
partial |
56 |
Partially correct |
11 ms |
5468 KB |
partial |
57 |
Partially correct |
18 ms |
5468 KB |
partial |
58 |
Partially correct |
16 ms |
5464 KB |
partial |
59 |
Partially correct |
14 ms |
5468 KB |
partial |
60 |
Partially correct |
17 ms |
5464 KB |
partial |
61 |
Partially correct |
11 ms |
5468 KB |
partial |
62 |
Partially correct |
11 ms |
5468 KB |
partial |
63 |
Partially correct |
10 ms |
5468 KB |
partial |
64 |
Partially correct |
20 ms |
5468 KB |
partial |
65 |
Partially correct |
168 ms |
51792 KB |
partial |
66 |
Partially correct |
173 ms |
51796 KB |
partial |
67 |
Partially correct |
165 ms |
51796 KB |
partial |
68 |
Partially correct |
163 ms |
51752 KB |
partial |
69 |
Partially correct |
167 ms |
51760 KB |
partial |
70 |
Partially correct |
167 ms |
51792 KB |
partial |
71 |
Partially correct |
165 ms |
51764 KB |
partial |
72 |
Partially correct |
202 ms |
51792 KB |
partial |
73 |
Correct |
2476 ms |
129284 KB |
ok |
74 |
Correct |
2489 ms |
129028 KB |
ok |
75 |
Partially correct |
166 ms |
51792 KB |
partial |
76 |
Partially correct |
166 ms |
51764 KB |
partial |
77 |
Partially correct |
169 ms |
51792 KB |
partial |
78 |
Partially correct |
162 ms |
51764 KB |
partial |
79 |
Partially correct |
165 ms |
51748 KB |
partial |
80 |
Partially correct |
208 ms |
51792 KB |
partial |
81 |
Partially correct |
179 ms |
51764 KB |
partial |
82 |
Partially correct |
177 ms |
51764 KB |
partial |
83 |
Partially correct |
177 ms |
51748 KB |
partial |
84 |
Partially correct |
254 ms |
51760 KB |
partial |
85 |
Partially correct |
257 ms |
51796 KB |
partial |
86 |
Partially correct |
343 ms |
51760 KB |
partial |
87 |
Partially correct |
316 ms |
51792 KB |
partial |
88 |
Partially correct |
171 ms |
51768 KB |
partial |
89 |
Partially correct |
200 ms |
51796 KB |
partial |
90 |
Partially correct |
163 ms |
51800 KB |
partial |
91 |
Partially correct |
209 ms |
51792 KB |
partial |
92 |
Partially correct |
172 ms |
51796 KB |
partial |
93 |
Partially correct |
238 ms |
51748 KB |
partial |
94 |
Partially correct |
164 ms |
51792 KB |
partial |
95 |
Partially correct |
201 ms |
51744 KB |
partial |
96 |
Partially correct |
208 ms |
51796 KB |
partial |
97 |
Partially correct |
202 ms |
51796 KB |
partial |
98 |
Partially correct |
170 ms |
51768 KB |
partial |
99 |
Partially correct |
189 ms |
51796 KB |
partial |
100 |
Partially correct |
198 ms |
51760 KB |
partial |
101 |
Partially correct |
191 ms |
51792 KB |
partial |
102 |
Partially correct |
297 ms |
51792 KB |
partial |
103 |
Partially correct |
257 ms |
51764 KB |
partial |
104 |
Partially correct |
191 ms |
51760 KB |
partial |
105 |
Partially correct |
189 ms |
51760 KB |
partial |
106 |
Partially correct |
224 ms |
51796 KB |
partial |
107 |
Partially correct |
245 ms |
51792 KB |
partial |
108 |
Partially correct |
187 ms |
51764 KB |
partial |
109 |
Partially correct |
174 ms |
51792 KB |
partial |