迷宮問題 遞迴解決

2021-10-22 18:26:47 字數 1559 閱讀 9677

/** * @建立人 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...