全re求救,样例过了

P1162 填涂颜色

emmmm,如果BFS过不了,可以试试DFS,类似这样: ```cpp void dfs(int x,int y) { for(int i=0;i<=3;i++) { ...//移动 } return; } ``` 再说说思路,可以反向思考,填1里面很难,那就把矩阵外面填充为-1(别忘了备份原矩阵),然后判断,不是1,不是-1,那就添2 此题 $n≤30$ ,完全没问题。
by zhangxisu @ 2023-12-16 17:00:07


@[zhangxisu](/user/486521) 可以这么做是因为1围成的是环,不论如何都能把外圈遍历,类似这样: ```cpp 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) ...; if(a[n][i]==0) ...; if(a[i][1]==0) ...; if(a[i][n]==0) ...; } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { ... } ... } ```
by zhangxisu @ 2023-12-16 17:03:27


@[xwx123456](/user/917301) 你```bfss```函数没返回值,可以改成```void```或者加个```return 0;```
by hdkk @ 2023-12-16 17:24:26


@[zhangxisu](/user/486521) @[hdkk](/user/728778) 已AC
by xwx123456 @ 2023-12-16 18:08:29


efmsa
by ctctlsx @ 2023-12-27 13:16:55


|