@[huangzhengnan8866](/user/747142) 我草我看了半天才[看出来](https://www.luogu.com.cn/record/99558466),你这个错误太隐了(
```cpp
if(tx>=1&&tx<=n&&ty>=1&&ty<=n&&vis[tx][ty]){
if(a[x][y]||a[tx][ty]){
if(a[tx][ty]==0){
if(sum+2<d[tx][ty]){
vis[tx][ty]=0;
d[tx][ty]=sum+2;
DFS(tx,ty,sum+2,cl);
vis[tx][ty]=1;
}
}
else{
if(cl==a[tx][ty]&&sum<d[tx][ty]){
vis[tx][ty]=0;
d[tx][ty]=sum;
DFS(tx,ty,sum,cl);
vis[tx][ty]=1;
}else if(sum+1<ans&&sum+1<d[tx][ty]){
vis[tx][ty]=0;
d[tx][ty]=sum+1;
DFS(tx,ty,sum+1,a[tx][ty]);
vis[tx][ty]=1;
}
}
}
}
```
是一个大括号位置的问题。
by Jerrlee✅ @ 2023-01-13 09:36:24