迷宮求解

迷宮求解

僞代碼如下,僅供參考。

/*
	迷宮求解
	求解思路:使用棧和窮舉 
	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(棧不空)
*/ 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章