#include "soccer.h"
#include <bits/stdc++.h>
using namespace std;
int biggest_stadium(int n, vector<vector<int>> F) {
int ans = 0;
for(int mask = 1;mask<(1<<(n*n));mask++){
vector<vector<bool>>sel(n,vector<bool>(n));
int ind = 0;
for(int i = 0;i<n;i++){
for(int j = 0;j<n;j++){
if((1<<ind)&mask){
sel[i][j]=1;
}
ind++;
}
}
assert(ind==n*n);
bool val = 1;
for(int i = 0;i<n;i++){
for(int j = 0;j<n;j++){
if(sel[i][j]&&F[i][j]){
val=0;
}
}
}
if(!val)
continue;
for(int si = 0;si<n;si++){
for(int sj = 0;sj<n;sj++){
if(!sel[si][sj])
continue;
for(int ei = 0;ei<n;ei++){
for(int ej = 0;ej<n;ej++){
if(si==ei&&sj==ej)
continue;
if(!sel[ei][ej]){
continue;
}
bool cas1 = 1;
bool cas2 = 1;
for(int i = min(si,ei);i<=max(si,ei);i++){
if(!sel[i][ej]){
cas1=0;
}
if(!sel[i][sj]){
cas2=0;
}
}
for(int i = min(sj,ej);i<=max(sj,ej);i++){
if(!sel[si][i]){
cas1=0;
}
if(!sel[ei][i]){
cas2=0;
}
}
if((!cas1)&&(!cas2)){
val=0;
}
}
}
}
}
if(val){
ans=max(ans,__builtin_popcount(mask));
}
}
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... |