迷宮求解
僞代碼如下,僅供參考。
/*
迷宮求解
求解思路:使用棧和窮舉
author:tianlan
time:2017/04/05
version:v1.0
*/
/*
do{
if(當前位置可通){
stack.push(當前位置);
if(當前位置爲出口位置){
程序結束
}
else{
切換當前位置的東鄰方塊爲新的當前位置;
}
}
else{
if(棧不空且棧頂位置尚有其他方向未經探索){
設定新的當前位置爲沿順時針方向旋轉找到的棧頂位置的下一相鄰塊;
}
if(棧不空但棧頂位置的四周均不同){
刪去棧頂位置;
while(棧不空){
if(stack.top()爲可通相鄰塊)
break;
else
stack.pop();
}
}
}
}while(棧不空)
*/