Submission #1233359

#TimeUsernameProblemLanguageResultExecution timeMemory
1233359MuhammadSaramSoccer Stadium (IOI23_soccer)C++20
0 / 100
4595 ms320 KiB
#include "soccer.h" #include <bits/stdc++.h> using namespace std; int biggest_stadium(int n, vector<vector<int>> a) { int pre[n][n+1]={},pre1[n][n+1]={}; for (int i=0;i<n;i++) for(int j=0;j<n;j++) pre[i][j+1]=pre[i][j]+a[i][j],pre1[j][i+1]=pre1[j][i]+a[i][j]; bool ed[n*n][n*n]={}; for (int i=0;i<n;i++) for (int j=0;j<n;j++) for (int i1=0;i1<n;i1++) for (int j1=0;j1<n;j1++) { bool x=1; if (i==i1 && pre[i][j1]!=pre[i][j]) x=0; if (j==j1 && pre1[j][i]!=pre1[j][i1]) x=0; if (i!=i1 && j!=j1) { bool pos=0; if (pre[i][j]==pre[i][j1] && pre1[j1][i]==pre1[j1][i1]) pos=1; if (pre1[j][i]==pre1[j][i1] && pre[i1][j]==pre[i1][j1]) pos=1; x=pos; } if (x) ed[i*n+j][i1*n+j1]=1; } int ans=0; for (int m=0;m<(1<<n*n);m++) { vector<int> v; for (int i=0;i<n*n;i++) if (m>>i&1) v.push_back(i); bool pos=1; for (int i:v) for (int j:v) if(!ed[i][j]) pos=0; if (pos) ans=max(ans,(int)v.size()); } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...