欢迎光临散文网 会员登陆 & 注册

笔记5

2023-09-20 13:52 作者:泽-吾愿之  | 我要投稿

#include<bits/stdc++.h>

using namespace std;

int n,m,sum=0;

int a[105][105];

int dx[5]={0,0,1,0,-1};

int dy[5]={0,1,0,-1,0};

bool check(int x,int y){

return x>0&&x<=n&&y>0&&y<=n;

}

void dfs(int x,int y){

a[x][y]=3;

for(int i=1;i<=4;i++){

int tx=x+dx[i];

int ty=y+dy[i];

if(a[tx][ty]==0&&check(tx,ty)){

dfs(tx,ty);

}

}

}

int main(){

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++){

if(a[1][i]==0) dfs(1,i);

if(a[n][i]==0) dfs(n,i);

if(a[i][1]==0) dfs(i,1);

if(a[i][n]==0) dfs(i,n);

}

for(int i=1;i<=n;i++){

for(int j=1;j<=n;j++){

if(a[i][j]==0) a[i][j]=2;

if(a[i][j]==3) a[i][j]=0;

}

}

for(int i=1;i<=n;i++){

for(int j=1;j<=n;j++){

cout<<a[i][j]<<" ";

}

cout<<endl;

}


return 0;


}


笔记5的评论 (共 条)

分享到微博请遵守国家法律