文章
14
粉丝
80
获赞
0
访问
10.5k
为什么不能直接用x和y?
void dfs(int x,int y){//从m[x][y]出发遍历属于同一石油块的pocket
visit[x][y]=1;
for(int i=0;i<8;i++){//依次向八个方向搜索
/*
x=x+dir[i][0];
y=y+dir[i][1];
if(visit[nx][ny]==0&&mpt[nx][ny]=='@'){
dfs(nx,ny);
}
*/
int nx=x+dir[i][0];
int ny=y+dir[i][1];
if(visit[nx][ny]==0&&mpt[nx][ny]=='@'){
dfs(nx,ny);
}
}
}
登录后发布评论
因为for循环,如果直接用x和y,那么下次的x和y的计算就要受上一次的影响,而不是初始的x和y