**:
public static void main(string args)
for (int i = 0; i <7 ; i++)
maze[3][1]=1;
maze[3][2]=1;
maze[1][2]=1;
maze[2][2]=1;
for (int i = 0; i < 8; i++)
system.out.println();
}if( mazegame(maze,1,1,6,5))else
for (int i = 0; i < 8; i++)
system.out.println();}}
/**
* 當前點設為2 自 右 下 左 上 依次檢視是否走得通 走過走不通的點設為3 走得通設為2 阻擋物為1 未走過為0
* @param maze 表示地圖
* @param starterow 起點行
* @param starteline 起點的列
* @param finishrow 終點行
* @param finishline 終點列
* @return true表示可以走出迷宮 false表示未走出迷宮
*/public static boolean mazegame(int maze,int starterow,int starteline,int finishrow,int finishline)else else if( mazegame(maze,starterow+1,starteline,finishrow,finishline))else if(mazegame(maze,starterow,starteline-1,finishrow,finishline))else if(mazegame(maze, starterow - 1, starteline, finishrow, finishline))else
}else}}
效果圖:
用回溯遞迴演算法解決走迷宮問題
迷宮是由許多小方格構成的矩形,在每個小方格中有的是牆,有的是路,走迷宮就是從乙個小方格沿上下左右四個方向到臨近的方格,當然不能穿牆。設迷宮的入口是在左上角 1,1 出口是右下角 8,8 根據給定的迷宮,找出一條從入口到出口的路徑。演算法設計思路 從入口開始廣度優先搜尋所有可到達的方格入隊,再擴充套件...
遞迴 走迷宮
時間限制 1 sec 記憶體限制 128 mb 提交 78 解決 17 提交 狀態 討論版 命題人 外部匯入 有乙個n m格的迷宮 表示有n行 m列 其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,檔案讀入這n m個資料和起始點 結束點 起始點和結束點都是用兩個資料來描述的,分別表示這...
問題 F 遞迴入門 走迷宮(迷宮問題)
題目鏈結 題目描述 有乙個nm格的迷宮 表示有n行 m列 其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,檔案讀入這nm個資料和起始點 結束點 起始點和結束點都是用兩個資料來描述的,分別表示這個點的行號和列號 現在要你程式設計找出所有可行的道路,要求所走的路中沒有重複的點,走時只能是上...