如题,代码如下
#include<bits/stdc++.h>//万能头
using namespace std;//......
int f[31][31]={},n,s,nx,ny,dx[4]={1,-1,0,0},dy[4]={0,0,1,-1};//定义
int wa();//搜索
int main()
{
cin>>n;//输入
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cin>>f[i][j];
}
}
wa();//......
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cout<<f[i][j]<<" ";//输出
}
cout<<endl;//回车
}
return 0;//好习惯
}
int wa()
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(f[i][j]!=1)
{
s=0;//累加器归0
for(int k=0;k<4;k++)
{
nx=i;ny=j;
for(int l=0;l<n;l++)
{
nx+=dx[k];ny+=dy[k];
if(f[nx][ny]!=0&&(nx>=0&&ny>=0)&&(nx<n&&ny<n))//四个方向上有4个1即为2
{
s++;
break;
}
}
}
if(s==4)
{
f[i][j]=2;
}
}
}
}
}
蒟篛无能,恳请dalao指点!