語言利用遞迴演算法解決迷宮問題

2021-04-13 08:51:12 字數 1206 閱讀 7573

上次在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...