各位大佬,只能过第一个和最后一个测试点,有什么错误?

P1162 填涂颜色

你的反例: ```pascal 3 0 1 0 1 0 1 0 1 0 ``` 你输出了: ```pascal 0 1 2 1 2 1 0 1 2 ```
by w23c3c3 @ 2018-08-10 08:52:50


我找不到错误,就只能贴代码了: ```cpp #include <bits/stdc++.h> using namespace std; int n,a[32][32],i,j; void dfs(int x, int y){ if(x>=0&&x<=n+1&&y>=0&&y<=n+1){ if(a[x][y]==1||a[x][y]==3)return; else{a[x][y]=3; dfs(x+1,y);dfs(x-1,y); dfs(x,y+1);dfs(x,y-1);} } } int main(){ cin>>n; for(i=1;i<=n;i++)for(j=1;j<=n;j++)cin>>a[i][j]; dfs(0, 0); for(i=1;i<=n;i++)for(j=1;j<=n;j++)if(a[i][j]==3)a[i][j]=0;else if(a[i][j]==0)a[i][j]=2; for(i=1;i<=n;++i,printf("\n")) for(j=1;j<=n;printf("%d ",a[i][j]),++j) ; return 0; } ``` 哦,想起来了,我的是深搜,你的是广搜……
by w23c3c3 @ 2018-08-10 08:54:36


@[w23c3c3](/space/show?uid=109942) 明白了多谢
by qingtianyu @ 2018-08-10 09:16:01


|