上次在csdn上有人求解乙個迷宮演算法,當時剛好有點時間,就隨便寫了寫,主要是利用遞迴回溯,直到找到正確路徑為止,當然這個演算法還可以稍加修改,也很容易把所有的路徑都計算出來.然後找乙個最短路徑之類的,很容易.
//begin *.c///
#include "stdafx.h"
#include
typedef char bool;
//迷宮演算法
const int a[6][7] = ,,,
,,};const int max_x = 6;
const int max_y = 7;
//每一步在陣列中的位置
typedef struct _step
step;
//當前位置
step trace[50];
step stepcurrent;
int icounter;
//移動操作
bool right();
bool rightdown();
bool down();
bool downup();
bool left();
bool leftup();
bool up();
bool updown();
//bool getexit();
void main()
scanf("%d", &icounter);
}bool getexit()
if (right())
else
if (rightdown())
else
if (down())
else
if (downup())
else
if (left())
else
if (leftup())
else
if (up())
else
if (updown())
else
icounter--;
return 0;
}bool right()
bool rightdown()
bool down()
bool downup()
bool left()
bool leftup()
bool up()
bool updown()
//end
利用遞迴解決迷宮問題
利用遞迴解決迷宮問題 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...
迷宮問題 遞迴解決
建立人 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 地圖的情況...
遞迴 解決迷宮問題
先用二維陣列模擬出 給部分 賦值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...