/* 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 biggest_stadium(int N, vector<vector<int>> F) {
// 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;
// }
// }
for (int i = 0; i < N; i ++)
for (int j = 0; j < N; j ++)
used[i][j] = false;
n = N;
f = F;
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;
}
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;
}
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;
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;
}
Compilation message
soccer.cpp: In function 'int biggest_stadium(int, std::vector<std::vector<int> >)':
soccer.cpp:102:8: warning: 'i0' may be used uninitialized in this function [-Wmaybe-uninitialized]
102 | dfs(i0, j0);
| ~~~^~~~~~~~
soccer.cpp:102:8: warning: 'j0' may be used uninitialized in this function [-Wmaybe-uninitialized]
# |
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 |
344 KB |
ok |
5 |
Correct |
0 ms |
348 KB |
ok |
6 |
Partially correct |
0 ms |
348 KB |
partial |
7 |
Partially correct |
1 ms |
2652 KB |
partial |
8 |
Partially correct |
11 ms |
5548 KB |
partial |
9 |
Partially correct |
166 ms |
51796 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 |
Incorrect |
1 ms |
348 KB |
wrong |
6 |
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 |
Partially correct |
0 ms |
348 KB |
partial |
5 |
Partially correct |
0 ms |
348 KB |
partial |
6 |
Incorrect |
1 ms |
348 KB |
wrong |
7 |
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 |
344 KB |
ok |
6 |
Partially correct |
0 ms |
348 KB |
partial |
7 |
Partially correct |
0 ms |
348 KB |
partial |
8 |
Incorrect |
1 ms |
348 KB |
wrong |
9 |
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 |
344 KB |
ok |
6 |
Partially correct |
0 ms |
348 KB |
partial |
7 |
Partially correct |
0 ms |
348 KB |
partial |
8 |
Incorrect |
1 ms |
348 KB |
wrong |
9 |
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 |
344 KB |
ok |
6 |
Correct |
0 ms |
348 KB |
ok |
7 |
Partially correct |
0 ms |
348 KB |
partial |
8 |
Partially correct |
1 ms |
2652 KB |
partial |
9 |
Partially correct |
11 ms |
5548 KB |
partial |
10 |
Partially correct |
166 ms |
51796 KB |
partial |
11 |
Partially correct |
0 ms |
348 KB |
partial |
12 |
Partially correct |
0 ms |
348 KB |
partial |
13 |
Incorrect |
1 ms |
348 KB |
wrong |
14 |
Halted |
0 ms |
0 KB |
- |