_xing_ @ 2021-05-03 10:16:25
inline void dfs(int p,int q){
int i;
if(p<0||p>n+1||q<0||q>n+1||a[p][q]!=0)
return;
a[p][q]=1;
for(i=0;i<4;i++) dfs(p+fx[i][0],q+fx[i][1]); }
如果是这一种判断就可以递归下去,但如果不行,返回后又重新递归为什么可以?
if(xx >= 1 && xx <= n && yy >= 1 && yy <= n && a[xx][yy] == 0)
dfs(xx,yy);
如果我在递归之前判断它能否递归就不可以,这是为什么?
by 逸之为一 @ 2021-06-21 21:40:07
???
by 逸之为一 @ 2021-06-21 21:41:36
能把完整代码给我康康吗