蒟蒻84分求助,一个点RE

P1162 填涂颜色

``` #include<bits/stdc++.h> using namespace std; int n,t,sx,sy,tx,ty,cnt,fx,fy; char np[105][105]; bool mp[105][105]; int dx[4]={0,0,1,-1}; int dy[4]={1,-1,0,0}; void dfs(int x,int y){ for(int i=0;i<=3;i++){ int nx=x+dx[i]; int ny=y+dy[i]; if(nx>=1&&nx<=n+2&&ny>=1&&ny<=n+2&&np[nx][ny]=='0'&&mp[nx][ny]==0){ mp[nx][ny]=1; dfs(nx,ny); } } } int main(){ cin>>n; for(int i=2;i<=n+1;i++){ for(int j=2;j<=n+1;j++){ cin>>np[i][j]; } } for(int i=1;i<=n+2;i++){ for(int j=1;j<=n+2;j++){ if(np[i][j]==0){ np[i][j]='0'; } } } dfs(1,1); for(int i=2;i<=n+1;i++){ for(int j=2;j<=n+1;j++){ if(np[i][j]=='0'&&mp[i][j]==0) np[i][j]='2'; cout<<np[i][j]<<' '; } cout<<endl; } return 0; } ```
by Forever1507 @ 2021-01-01 22:25:32


|