#include "soccer.h"
#include <bits/stdc++.h>
using namespace std;
int check(int n, vector<vector<int>> f) {
int ans = 0;
for (auto _: {0, 1}) {
ans = 0;
vector<int> l(n), r(n);
for (int i = 0; i < n; i++) {
bool found = 0;
bool flag = 0;
int _l = -1, _r = -1;
for (int j = 0; j < n; j++) {
if (!f[i][j]) {
_r = j;
if (_l == -1) _l = j;
ans++;
found = 1;
if (flag) return 0;
} else if (found) flag = 1;
}
l[i] = _l;
r[i] = _r;
if (_l == -1) continue;
for (int j = 0; j < i; j++) {
if (l[j] == -1) continue;
if (l[j] < _l && r[j] < _r) return 0;
if (l[j] > _l && r[j] > _r) return 0;
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < i; j++) {
swap(f[i][j], f[j][i]);
}
}
}
return ans;
}
int biggest_stadium(int n, vector<vector<int>> f) {
int ans = 0;
for (int mask = 0; mask < (1 << (n * n)); mask++) {
auto g = f;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (mask & (1 << (n * i + j))) {
g[i][j] = 1;
}
}
}
ans = max(ans, check(n, g));
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |