Submission #1232865

#TimeUsernameProblemLanguageResultExecution timeMemory
1232865m5588ohammedSoccer Stadium (IOI23_soccer)C++20
1.50 / 100
202 ms47500 KiB
#include "soccer.h" #include <bits/stdc++.h> using namespace std; int arr[2001][2001],vis[2001][2001],n; bool valid(int i,int j){ if(i>=n||j>=n||i<0||j<0||arr[i][j]==1||vis[i][j]==1) return 0; return 1; } void dfs(int i,int j){ vis[i][j]=1; if(valid(i+1,j)==1) dfs(i+1,j); if(valid(i-1,j)==1) dfs(i-1,j); if(valid(i,j+1)==1) dfs(i,j+1); if(valid(i,j-1)==1) dfs(i,j-1); return; } int biggest_stadium(int N, std::vector<std::vector<int>> F) { n=N; int siz=0,cnt=0; vector <array<int,2>> v; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ arr[i][j]=F[i][j]; } } for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(arr[i][j]==0) siz++; else{ if(valid(i-1,j)+valid(i+1,j)==2||valid(i,j-1)+valid(i,j+1)==2) return -1; } } } for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(vis[i][j]==0&&arr[i][j]==0){ cnt++; dfs(i,j); } } } if(cnt>1) return -1; return siz; }
#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...