调了一个小时没调出来
#include<bits/stdc++.h>
using namespace std;
int n,m,a[110][110],mm=0,b[110][110];
int dx[5]={0,-1,1,0,0};
int dy[5]={0,0,0,-1,1};
void dfs(int x,int y){
if(x<1||x>n+1||y<1||y>n+1||a[x][y]!=0){
return;
}
a[x][y]=1;
for(int i=1;i<=4;i++){
dfs(x+dx[i],y+dy[i]);
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
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(0,0);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[i][j]==0){
cout<<2<<" ";
}
else{
cout<<b[i][j]<<" ";
}
}
cout<<endl;
}
}
谢谢了