提交时间:2023-07-22 18:10:14

运行 ID: 24337

#include"bits/stdc++.h" using namespace std; int s[35][35],t[35][35]; int dx[4]={-1,0,1,0}; int dy[4]={0,-1,0,1}; int n; void f(int x,int y){ if(x<0||x>n+1||y<0||y>n+1)return; for(int i=0;i<4;i++){ int nx=x+dx[i]; int ny=y+dy[i]; if(nx>=0&&nx<=n+1&&ny>=0&&ny<=n+1&&s[nx][ny]==0&&t[nx][ny]==0){ t[nx][ny]=1; f(nx,ny); } } } int main(){ cin>>n; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++) cin>>s[i][j]; } f(0,0); for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(t[i][j]==1)cout<<0<<' '; else if(s[i][j]==1)cout<<1<<' '; else cout<<2<<' '; } cout<<'\n'; } }