真的不知道哪错了。。。

P1162 填涂颜色

@[doudou0617](/user/1029487) 就是您在函数里 ``` else { return; } ``` 需要删掉,代码如下 ``` #include<bits/stdc++.h> using namespace std; int x[4]= {1,-1,0,0}; int y[4]= {0,0,-1,1}; int n,a[100][100]; void bfs(int r,int m) { for(int i=0; i<4; i++) { int c=r+x[i],d=m+y[i]; if(c>=0&&c<=n+1&&d>=0&&d<=n+1&&a[c][d]==0) { a[c][d]=2; bfs(c,d); } } } int main() { cin>>n; for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { cin>>a[i][j]; } } bfs(0,0); for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { if(a[i][j]==2) { cout<<0<<' '; } else if(a[i][j]==0) { cout<<2<<' '; } else { cout<<1<<' '; } } cout<<endl; } } ```
by abc17792plum @ 2023-07-16 08:14:56


|