#include "soccer.h"
#include <iostream>
#define pii std::pair<int, int>
int biggest_stadium(int N, std::vector<std::vector<int>> F)
{
std::vector<pii> woah;
int cnt0 = 0;
int possible = 1;
for (int i = 0; i < N; ++i)
{
int state = 0;
pii current(-1, -1);
for (int j = 0; j < N; ++j)
{
if (F[i][j] == 0)
{
++cnt0;
if (state == 0)
state = 1;
else if (state == 2)
state = 3;
if (current.first == -1)
current = pii(j, j-1);
++current.second;
}
else
{
if (state == 1)
state = 2;
}
}
if (state == 3) possible = 0;
if (current.first != -1)
woah.push_back(current);
}
for (int i = 0; i < N; ++i)
{
int state = 0;
for (int j = 0; j < N; ++j)
{
if (F[j][i] == 0)
{
if (state == 0)
state = 1;
else if (state == 2)
state = 3;
}
else
{
if (state == 1)
state = 2;
}
}
if (state == 3) possible = 0;
}
for (int i = 0; i < woah.size(); ++i)
{
for (int j = 0; j < woah.size(); ++j)
{
pii &a = woah[i], &b = woah[j];
// printf("%i,%i with %i,%i\n", a.first, a.second, b.first, b.second);
if (!(a.first <= b.first && b.second <= a.second) && !(b.first <= a.first && a.second <= b.second))
possible = 0;
}
}
if (possible)
return cnt0;
return 0;
}