#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;
}
}
}
}
if(N < 460) {
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;
}
}
}
}
}
}
}
}else {
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
*/
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
0 ms |
344 KB |
partial |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
ok |
2 |
Correct |
0 ms |
344 KB |
ok |
3 |
Correct |
0 ms |
344 KB |
ok |
4 |
Correct |
1 ms |
348 KB |
ok |
5 |
Correct |
0 ms |
344 KB |
ok |
6 |
Partially correct |
1 ms |
344 KB |
partial |
7 |
Partially correct |
1 ms |
348 KB |
partial |
8 |
Partially correct |
14 ms |
3416 KB |
partial |
9 |
Partially correct |
231 ms |
47380 KB |
partial |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
ok |
2 |
Correct |
0 ms |
344 KB |
ok |
3 |
Partially correct |
0 ms |
344 KB |
partial |
4 |
Partially correct |
0 ms |
344 KB |
partial |
5 |
Partially correct |
0 ms |
344 KB |
partial |
6 |
Partially correct |
0 ms |
344 KB |
partial |
7 |
Partially correct |
0 ms |
344 KB |
partial |
8 |
Correct |
0 ms |
344 KB |
ok |
9 |
Correct |
0 ms |
344 KB |
ok |
10 |
Partially correct |
0 ms |
344 KB |
partial |
11 |
Partially correct |
0 ms |
344 KB |
partial |
12 |
Partially correct |
0 ms |
344 KB |
partial |
13 |
Correct |
0 ms |
344 KB |
ok |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
0 ms |
344 KB |
partial |
2 |
Correct |
0 ms |
344 KB |
ok |
3 |
Correct |
0 ms |
344 KB |
ok |
4 |
Partially correct |
0 ms |
344 KB |
partial |
5 |
Partially correct |
0 ms |
344 KB |
partial |
6 |
Partially correct |
0 ms |
344 KB |
partial |
7 |
Partially correct |
0 ms |
344 KB |
partial |
8 |
Partially correct |
0 ms |
344 KB |
partial |
9 |
Correct |
0 ms |
344 KB |
ok |
10 |
Correct |
0 ms |
344 KB |
ok |
11 |
Partially correct |
0 ms |
344 KB |
partial |
12 |
Partially correct |
0 ms |
344 KB |
partial |
13 |
Partially correct |
0 ms |
344 KB |
partial |
14 |
Correct |
0 ms |
344 KB |
ok |
15 |
Partially correct |
0 ms |
344 KB |
partial |
16 |
Partially correct |
0 ms |
344 KB |
partial |
17 |
Partially correct |
0 ms |
344 KB |
partial |
18 |
Partially correct |
0 ms |
344 KB |
partial |
19 |
Partially correct |
0 ms |
344 KB |
partial |
20 |
Correct |
0 ms |
348 KB |
ok |
21 |
Correct |
0 ms |
344 KB |
ok |
22 |
Partially correct |
1 ms |
344 KB |
partial |
23 |
Partially correct |
0 ms |
344 KB |
partial |
24 |
Partially correct |
0 ms |
344 KB |
partial |
25 |
Partially correct |
0 ms |
344 KB |
partial |
26 |
Partially correct |
0 ms |
504 KB |
partial |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
0 ms |
344 KB |
partial |
2 |
Correct |
0 ms |
344 KB |
ok |
3 |
Correct |
0 ms |
344 KB |
ok |
4 |
Correct |
0 ms |
344 KB |
ok |
5 |
Correct |
1 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 |
344 KB |
partial |
9 |
Partially correct |
0 ms |
344 KB |
partial |
10 |
Partially correct |
0 ms |
344 KB |
partial |
11 |
Correct |
0 ms |
344 KB |
ok |
12 |
Correct |
0 ms |
344 KB |
ok |
13 |
Partially correct |
0 ms |
344 KB |
partial |
14 |
Partially correct |
0 ms |
344 KB |
partial |
15 |
Partially correct |
0 ms |
344 KB |
partial |
16 |
Correct |
0 ms |
344 KB |
ok |
17 |
Partially correct |
0 ms |
344 KB |
partial |
18 |
Partially correct |
0 ms |
344 KB |
partial |
19 |
Partially correct |
0 ms |
344 KB |
partial |
20 |
Partially correct |
0 ms |
344 KB |
partial |
21 |
Partially correct |
0 ms |
344 KB |
partial |
22 |
Correct |
0 ms |
348 KB |
ok |
23 |
Correct |
0 ms |
344 KB |
ok |
24 |
Partially correct |
1 ms |
344 KB |
partial |
25 |
Partially correct |
0 ms |
344 KB |
partial |
26 |
Partially correct |
0 ms |
344 KB |
partial |
27 |
Partially correct |
0 ms |
344 KB |
partial |
28 |
Partially correct |
0 ms |
504 KB |
partial |
29 |
Partially correct |
1 ms |
344 KB |
partial |
30 |
Partially correct |
0 ms |
344 KB |
partial |
31 |
Partially correct |
1 ms |
344 KB |
partial |
32 |
Partially correct |
0 ms |
344 KB |
partial |
33 |
Partially correct |
1 ms |
344 KB |
partial |
34 |
Correct |
1 ms |
344 KB |
ok |
35 |
Correct |
1 ms |
348 KB |
ok |
36 |
Partially correct |
0 ms |
344 KB |
partial |
37 |
Partially correct |
0 ms |
344 KB |
partial |
38 |
Partially correct |
1 ms |
344 KB |
partial |
39 |
Partially correct |
1 ms |
344 KB |
partial |
40 |
Partially correct |
0 ms |
344 KB |
partial |
41 |
Partially correct |
0 ms |
344 KB |
partial |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
0 ms |
344 KB |
partial |
2 |
Correct |
0 ms |
344 KB |
ok |
3 |
Correct |
0 ms |
344 KB |
ok |
4 |
Correct |
0 ms |
344 KB |
ok |
5 |
Correct |
1 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 |
344 KB |
partial |
9 |
Partially correct |
0 ms |
344 KB |
partial |
10 |
Partially correct |
0 ms |
344 KB |
partial |
11 |
Correct |
0 ms |
344 KB |
ok |
12 |
Correct |
0 ms |
344 KB |
ok |
13 |
Partially correct |
0 ms |
344 KB |
partial |
14 |
Partially correct |
0 ms |
344 KB |
partial |
15 |
Partially correct |
0 ms |
344 KB |
partial |
16 |
Correct |
0 ms |
344 KB |
ok |
17 |
Partially correct |
0 ms |
344 KB |
partial |
18 |
Partially correct |
0 ms |
344 KB |
partial |
19 |
Partially correct |
0 ms |
344 KB |
partial |
20 |
Partially correct |
0 ms |
344 KB |
partial |
21 |
Partially correct |
0 ms |
344 KB |
partial |
22 |
Correct |
0 ms |
348 KB |
ok |
23 |
Correct |
0 ms |
344 KB |
ok |
24 |
Partially correct |
1 ms |
344 KB |
partial |
25 |
Partially correct |
0 ms |
344 KB |
partial |
26 |
Partially correct |
0 ms |
344 KB |
partial |
27 |
Partially correct |
0 ms |
344 KB |
partial |
28 |
Partially correct |
0 ms |
504 KB |
partial |
29 |
Partially correct |
1 ms |
344 KB |
partial |
30 |
Partially correct |
0 ms |
344 KB |
partial |
31 |
Partially correct |
1 ms |
344 KB |
partial |
32 |
Partially correct |
0 ms |
344 KB |
partial |
33 |
Partially correct |
1 ms |
344 KB |
partial |
34 |
Correct |
1 ms |
344 KB |
ok |
35 |
Correct |
1 ms |
348 KB |
ok |
36 |
Partially correct |
0 ms |
344 KB |
partial |
37 |
Partially correct |
0 ms |
344 KB |
partial |
38 |
Partially correct |
1 ms |
344 KB |
partial |
39 |
Partially correct |
1 ms |
344 KB |
partial |
40 |
Partially correct |
0 ms |
344 KB |
partial |
41 |
Partially correct |
0 ms |
344 KB |
partial |
42 |
Partially correct |
15 ms |
3416 KB |
partial |
43 |
Partially correct |
15 ms |
3416 KB |
partial |
44 |
Partially correct |
15 ms |
3672 KB |
partial |
45 |
Partially correct |
15 ms |
3828 KB |
partial |
46 |
Partially correct |
14 ms |
3416 KB |
partial |
47 |
Partially correct |
14 ms |
3420 KB |
partial |
48 |
Correct |
15 ms |
3416 KB |
ok |
49 |
Partially correct |
14 ms |
3416 KB |
partial |
50 |
Partially correct |
14 ms |
3224 KB |
partial |
51 |
Partially correct |
14 ms |
3420 KB |
partial |
52 |
Partially correct |
15 ms |
3416 KB |
partial |
53 |
Partially correct |
15 ms |
3420 KB |
partial |
54 |
Incorrect |
15 ms |
3416 KB |
wrong |
55 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
0 ms |
344 KB |
partial |
2 |
Correct |
0 ms |
344 KB |
ok |
3 |
Correct |
0 ms |
344 KB |
ok |
4 |
Correct |
0 ms |
344 KB |
ok |
5 |
Correct |
1 ms |
348 KB |
ok |
6 |
Correct |
0 ms |
344 KB |
ok |
7 |
Partially correct |
1 ms |
344 KB |
partial |
8 |
Partially correct |
1 ms |
348 KB |
partial |
9 |
Partially correct |
14 ms |
3416 KB |
partial |
10 |
Partially correct |
231 ms |
47380 KB |
partial |
11 |
Partially correct |
0 ms |
344 KB |
partial |
12 |
Partially correct |
0 ms |
344 KB |
partial |
13 |
Partially correct |
0 ms |
344 KB |
partial |
14 |
Partially correct |
0 ms |
344 KB |
partial |
15 |
Partially correct |
0 ms |
344 KB |
partial |
16 |
Correct |
0 ms |
344 KB |
ok |
17 |
Correct |
0 ms |
344 KB |
ok |
18 |
Partially correct |
0 ms |
344 KB |
partial |
19 |
Partially correct |
0 ms |
344 KB |
partial |
20 |
Partially correct |
0 ms |
344 KB |
partial |
21 |
Correct |
0 ms |
344 KB |
ok |
22 |
Partially correct |
0 ms |
344 KB |
partial |
23 |
Partially correct |
0 ms |
344 KB |
partial |
24 |
Partially correct |
0 ms |
344 KB |
partial |
25 |
Partially correct |
0 ms |
344 KB |
partial |
26 |
Partially correct |
0 ms |
344 KB |
partial |
27 |
Correct |
0 ms |
348 KB |
ok |
28 |
Correct |
0 ms |
344 KB |
ok |
29 |
Partially correct |
1 ms |
344 KB |
partial |
30 |
Partially correct |
0 ms |
344 KB |
partial |
31 |
Partially correct |
0 ms |
344 KB |
partial |
32 |
Partially correct |
0 ms |
344 KB |
partial |
33 |
Partially correct |
0 ms |
504 KB |
partial |
34 |
Partially correct |
1 ms |
344 KB |
partial |
35 |
Partially correct |
0 ms |
344 KB |
partial |
36 |
Partially correct |
1 ms |
344 KB |
partial |
37 |
Partially correct |
0 ms |
344 KB |
partial |
38 |
Partially correct |
1 ms |
344 KB |
partial |
39 |
Correct |
1 ms |
344 KB |
ok |
40 |
Correct |
1 ms |
348 KB |
ok |
41 |
Partially correct |
0 ms |
344 KB |
partial |
42 |
Partially correct |
0 ms |
344 KB |
partial |
43 |
Partially correct |
1 ms |
344 KB |
partial |
44 |
Partially correct |
1 ms |
344 KB |
partial |
45 |
Partially correct |
0 ms |
344 KB |
partial |
46 |
Partially correct |
0 ms |
344 KB |
partial |
47 |
Partially correct |
15 ms |
3416 KB |
partial |
48 |
Partially correct |
15 ms |
3416 KB |
partial |
49 |
Partially correct |
15 ms |
3672 KB |
partial |
50 |
Partially correct |
15 ms |
3828 KB |
partial |
51 |
Partially correct |
14 ms |
3416 KB |
partial |
52 |
Partially correct |
14 ms |
3420 KB |
partial |
53 |
Correct |
15 ms |
3416 KB |
ok |
54 |
Partially correct |
14 ms |
3416 KB |
partial |
55 |
Partially correct |
14 ms |
3224 KB |
partial |
56 |
Partially correct |
14 ms |
3420 KB |
partial |
57 |
Partially correct |
15 ms |
3416 KB |
partial |
58 |
Partially correct |
15 ms |
3420 KB |
partial |
59 |
Incorrect |
15 ms |
3416 KB |
wrong |
60 |
Halted |
0 ms |
0 KB |
- |