@[sjy_2023](/user/916051) 边角除了i=0,k=0还有i=n-1和k=n-1
by qweradf @ 2023-12-09 22:04:33
@[qwqer233](/user/442116) 但是加上了还是一样
by sjy_2023 @ 2023-12-09 22:08:39
@[sjy_2023](/user/916051) 稍等一下,有一堆令人难蚌的问题,我待会写一个详细的给你
by dienter @ 2023-12-09 22:13:43
@[dienter](/user/933643) 好的谢谢
by sjy_2023 @ 2023-12-09 22:16:50
@[sjy_2023](/user/916051)
```cpp
for(int i=0;i<n;i++)
{ for(int k=0;k<n;k++)
{ scanf("%d",&a[i][k]);
if( a[i][k]==0 && i!=0 && k!=0 )
{ a[i][k]==2;//经典
}
}
}
```
```cpp
scanf("%d",&n);
for(int i=0;i<n;i++)
{ for(int k=0;k<n;k++)
{ scanf("%d",&a[i][k]);
if( a[i][k]==0 && i!=0 && k!=0 )
{ a[i][k]==2; }
}
}
printf("\n");//你为什么要在这加一个换行?
```
其次就是你的思路有问题,例如:
```
(2,2)
1 1 1 0
1 2 2 0
1 0 0 0
↓
(2,3)
1 1 1 0
1 2 2 0
1 0 0 0
↓
1 1 1 0
1 2 0 0
0 0 0 0
```
建议学学正宗BFS
by dienter @ 2023-12-09 22:26:03
@[sjy_2023](/user/916051) 补一下刚才那张图
```
(2,2)
1 1 1 0
1 2 2 0
1 0 0 0
0 0 0 0
↓
(2,3)
1 1 1 0
1 2 2 0
1 2 2 0
0 0 0 0
↓
1 1 1 0
1 2 0 0
1 2 2 0
0 0 0 0
...
(2,2)没有正常更改
```
by dienter @ 2023-12-09 22:28:45
@[dienter](/user/933643) 这个是输出看着方便。
by sjy_2023 @ 2023-12-10 07:09:31
@[dienter](/user/933643) 好像理解了,谢谢。
by sjy_2023 @ 2023-12-10 07:24:10
@[dienter](/user/933643) 你的意思是要从边缘有0的地方开始搜索吗?
by sjy_2023 @ 2023-12-10 07:35:26
@[dienter](/user/933643) @[qwqer233](/user/442116) AC了,谢谢。
by sjy_2023 @ 2023-12-10 08:19:33