各位大佬们,为什么只有32分
查看原帖
各位大佬们,为什么只有32分
325650
seven7777楼主2021/3/28 18:19
#include <bits/stdc++.h>
using namespace std;
int a[100][100]={0},b[100][100]={0};  //数组用来记录原来的数 
int n;
void dfs(int x,int y)
{  
	int dx[5]={0,-1,0,0,1};
	int dy[5]={0,-1,0,1,0};
	for(int i=0;i<5;i++)
	{
		int nx=x+dx[i],ny=y+dy[i];
		if(nx>=1&&nx<=n&&ny>=1&&ny<=n&&a[nx][ny]==0)
		{
			a[nx][ny]=1;
			dfs(nx,ny);
			
		}
			
	} 
	return;
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			cin>>b[i][j];
			if(b[i][j]==0)
				a[i][j]=0;
			else
				a[i][j]=2;
		}
	}
	dfs(1,1);
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(a[i][j]==1)
				cout<<0<<" ";
			if(a[i][j]==2)
				cout<<1<<" ";
			if(a[i][j]==0)
				cout<<2<<" "; 
		}
		cout<<endl;
	}
	return 0;
}
2021/3/28 18:19
加载中...