核心處理如下瑟幕,已迷宮為例:
1、退出條件充尉,到達目標位置飘言;
if(x==p && y==q) return;
2、搜索路徑
int next[4][2]={{0,1}驼侠,{1,0}姿鸿,{0,-1}倒源,{-1,0}}
for(int k=0;k<3;k++) {
tx = x + next[k][0];
ty = y + next[k][1];
invalid(tx); invalid(ty)
}
3苛预、遞歸搜索
if(a[tx][ty] == 0 && book[tx][ty] == 0){
book[tx][ty] = 1; 標記為已處理
dfs(tx, ty, step+1); 開始下一輪處理
book[tx][ty] = 0; 處理結(jié)束取消標記
}