80分求助,第六个测试点WA
查看原帖
80分求助,第六个测试点WA
344756
Bwahoji楼主2020/12/10 13:50

如题,代码如下

#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指点!

2020/12/10 13:50
加载中...