改成a[31][31]应该可以
by grx_o_o_dxy @ 2019-01-26 21:39:35
还是不行
by grx_o_o_dxy @ 2019-01-26 21:40:02
@[lyz0](/space/show?uid=145477) 是哦
by 空气树 @ 2019-01-26 21:40:57
大佬,求代码
by grx_o_o_dxy @ 2019-01-26 21:40:59
我只会这样dfs
by grx_o_o_dxy @ 2019-01-26 21:41:31
没做过这道题……
by zwuis @ 2019-01-26 21:43:36
爆栈为什么会mle?//?????QAQ
by grx_o_o_dxy @ 2019-01-26 21:45:21
@[海盗村长](/space/show?uid=119137)
```cpp
#include<bits/stdc++.h>
using namespace std;
short a[101][101];
int n;
void acd(int x,int y){
if(x+1<=n&&a[x+1][y]==0){
a[x+1][y]=-1;
acd(x+1,y);
}
if(x-1>=1&&a[x-1][y]==0){
a[x-1][y]=-1;
acd(x-1,y);
}
if(y+1<=n&&a[x][y+1]==0){
a[x][y+1]=-1;
acd(x,y+1);
}
if(y-1<=n&&a[x][y-1]==0){
a[x][y-1]=-1;
acd(x,y-1);
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
for(int t=1;t<=n;t++){
cin>>a[i][t];
}
}
//cout<<endl;
for(int i=1;i<=n;i++){
if(!a[i][1]){
a[i][1]=-1;
acd(i,1);
}
if(!a[i][n]){
a[i][n]=-1;
acd(i,n);
}
}
for(int i=1;i<=n;i++){
if(!a[1][i]){
a[1][i]=-1;
acd(1,i);
}
if(!a[n][i]){
a[n][i]=-1;
acd(n,i);
}
}
for(int i=1;i<=n;i++){
for(int t=1;t<=n;t++){
if(a[i][t]==1)cout<<a[i][t]<<" ";
if(a[i][t]==0)cout<<2<<" ";
if(a[i][t]==-1)cout<<0<<" ";
}
cout<<endl;
}
return 0;
}
```
by 空气树 @ 2019-01-26 21:47:00
short改int
by 空气树 @ 2019-01-26 21:48:13
e嗯嗯
by grx_o_o_dxy @ 2019-01-26 21:48:57