题目大意:
要求在给定的矩阵中。每一个方格与其相邻的o方格的数量都是偶数,(0也是偶数)。
直接代码:
#include<cstdio>
#include<iostream>
using namespace std;
int n,m,d[120][120];
char str[120][120];
int a[120][120];
int dx[4]={-1,1,0,0};
int dy[4]={0,0,-1,1};
int main()
{
cin>>n;
bool flag;
for(int i=0;i<n;i++)
cin>>str[i];
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(str[i][j]=='o')
a[i][j]=1;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
for(int k=0;k<=3;k++)
{
int x=i+dx[k];
int y=j+dy[k];
if(x<n&&x>=0&&y>=0&&y<n)
{
if(a[x][y])
d[i][j]++;
}
}
}
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
if(d[i][j]%2!=0)
{
cout<<"NO"<<endl;
//while(1);
return 0;
}
}
cout<<"YES"<<endl;
//while(1);
return 0;
}