#include "soccer.h"
#include<bits/stdc++.h>
using namespace std;
int cnt = 0;
int xx [] = {-1 , 1 , 0 , 0};
int yy[] = {0 , 0 , -1 , 1};
vector<vector<bool>> vis;
void dfs(int x , int y)
{
    if(vis[x][y])
        return ;
    vis[x][y] = 1;
    cnt++;
    for(int k = 0 ; k < 4 ; k++)
    {
        int nx = x + xx[k] , ny = y + yy[k];
        dfs(nx , ny);
    }
}
int biggest_stadium(int N, std::vector<std::vector<int>> F)
{
    cnt = 0;
    vis.assign(N + 2 ,vector<bool>(N + 2 , 1));
    vector<vector<int>> grid(N + 2 , vector<int>(N + 2 , 1));
    int ret = 0;
    for(int i= 1 ; i <= N ; i++)
    {
        for(int j = 1 ; j <= N ; j++)
        {
            grid[i][j] = F[i-1][j-1];
            vis[i][j] = 0;
            ret+=(grid[i][j]^1);
        }
    }
    bool check = true;
    for(int i = 1 ; i <= N ; i++)
    {
        int ans = 0;
        for(int j = 1 ;j <= N+  1 ; j++)
        {
            ans+=(grid[i][j] != grid[i][j - 1]);
        }
        if(ans != 2 && ans!= 0)
        {
            check = false; 
            break;
        }
    }
    for(int j = 1 ; j <= N ; j++)
    {
        int ans = 0;
        for(int i = 1 ;i <= N + 1 ; i++)
        {
            ans+= (grid[i - 1][j] != grid[i][j]);
        }
        if(ans != 2 && ans != 0)
        {
            check = false;
            break;
        }
    }
    for(int i = 1 ; i <= N ; i++)
    {
        for(int j = 1 ; j <= N ; j++)
        {
            if(grid[i][j] == 0)
            {
                dfs(i , j);
                i = N + 1;
                break;   
            }
        }
    }
    if(check == false || cnt != ret)
        ret = 0;
    return ret;
}
| # | 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... |