曉萌有一個N×N的的棋盤,中間有N2個正方形的1×1的格子,他隨機在棋盤上撒上一些棋子(假設全部正好落在各個格子裏)。他希望知道,當前的棋盤上有多少個不包含棋子的,由至少四個1×1的格子組成的正方形(正方形之間可以有重疊的部分)。
樣例輸入
#include<iostream>
using namespace std;
int main()
{
int n, g[251][251];
char m[251][251];
while(cin>>n)
{
for (int i = 0; i < n; i++)
{
cin>>m[i];
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (m[i][j] == '0')
g[i][j] = 0;
else
g[i][j] = 1;
}
}
for (int l = 2; l <= n; l++)
{
int t = n-l+1, k = 0;
for (int i = 0; i < t; i++)
{
for (int j = 0; j < t; j++)
{
if (g[i][j]==l-1 && g[i+1][j+1]==l-1 && g[i+1][j]==l-1 && g[i][j+1]==l-1)
{
g[i][j] = l;
k++;
}
}
}
if (!k)
break;
else
cout<<l<<" "<<k<<endl;
}
}
}