代码过于混乱,感觉无药可救了,我是不是废了
查看原帖
代码过于混乱,感觉无药可救了,我是不是废了
616059
renzecheng楼主2023/7/12 21:09

32,

1,5过了

#include<iostream>
using namespace std;
int a[101][101];
int ans=2,f=0,n;
void bfs(int fx,int fy)
{
	if(a[fx][fy]==1||a[fx][fy]==ans)
	{
		return;
	}
	if(fx<=1||fx>=n||fy<=1||fy>=n)
	{
		f=1;
		return;
	}
	a[fx][fy]=ans;
	bfs(fx+1,fy);
	bfs(fx,fy+1);
	bfs(fx-1,fy);
	bfs(fx,fy-1);
}
int main()
{
	int x,y;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(a[i][j]==0)
			{
				f=0;
				bfs(i,j);
				if(f==1)
				{
					for(int k=1;k<=n;k++)
					{
						for(int l=1;l<=n;l++)
						{
							if(a[k][l]==ans)
							{
								a[k][l]=-1;
							}
						}
					}
					ans++;
				}
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(a[i][j]==-1||a[i][j]==0)
			{
				cout<<0;
			}
			else if(a[i][j]==1)
			{
				cout<<1;
			}
			else 
			{
				cout<<2;
			}
//			cout<<a[i][j];
			cout<<' ';
		}
		cout<<endl;
	}
	return 0;
}
2023/7/12 21:09
加载中...