/** * @建立人 wdl
* @建立時間 2021/3/21
* @描述
*/public
class
migong
//左右全部置為1
for(
int i =
0; i <
8; i++
)//設定擋板,1表示
map[3]
[1]=
1;map[3]
[2]=
1;// map[1][2]=1;
map[2]
[2]=
1;//輸出地圖
system.out.
println
("地圖的情況");
for(
int i =
0; i <
8; i++
) system.out.
println()
;}//使用遞迴回溯給小球找路(引用型別)
setway
(map,1,
1);//輸出新的地圖,小球走過,並標識過的地圖
system.out.
println
("小球走過,並標識過的地圖情況");
for(
int i =
0; i <
8; i++
) system.out.
println()
;}}//使用遞迴回溯來給小球找路
//說明
表示地圖
表示從地圖哪個位置開始找(1,1)
//3.如果小球能到map[6][5]位置,則說明通路找到
//4.約定,當map[i][j]為0表示沒有走過,當為1表示牆;2表示通路可以走 3.表示該點已經走過,但是走不通
//5.在走迷宮時,需要確定乙個策略(方法)下->右->上->左,如果該點走不通,再回溯
/** *
* @param map 表示地圖
* @param i 從哪個位置開始找
* @param j
* @return 如果找到通路,就返回true,否則返回false
*///使用遞迴回溯給小球找路
public
static
boolean
setway
(int
map,
int i,
int j)
else
elseif(
setway
(map,i,j+1)
)elseif(
setway
(map,i-
1,j)
)elseif(
setway
(map,i,j-1)
)else
}else}}
}
遞迴 解決迷宮問題
先用二維陣列模擬出 給部分 賦值1來說明是牆壁 紅色部分 public static void main string args 設定障礙 map 3 1 1 map 3 2 1 map 1 2 1 map 2 2 1 列印 for int i 0 i 10 i system.out.println...
遞迴解決走迷宮問題
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 maz...
利用遞迴解決迷宮問題
利用遞迴解決迷宮問題 author rocco l public class migong for int i 0 i 8 i map 3 1 1 map 3 2 1 遍歷輸出地圖 for int i 0 i 8 i system.out.println 使用遞迴回溯給小球找路 setway map...