C 解決迷宮問題

2021-06-01 07:44:14 字數 2561 閱讀 2968

#include#include#define m 11

#define n 10

//預設迷宮結構

char maze_array[m][n]=,,

,,,,

,,,,

};//記錄迷宮結點的路過次數

int maze_node_passby_array[m][n]=,,

,,,,

,,,,

};//輸出當前的迷宮局勢

void print_maze();

//輸出記錄路徑結點出現次數的陣列

void print_maze_node_passby_array();

//路徑結點類

class maze_path_node

maze_path_node(maze_path_node& t)//拷貝建構函式

~maze_path_node() //析構函式

bool operator!=(maze_path_node& t)

maze_path_node& operator=(maze_path_node& t)

return *this; }

void print_maze_path_node()

else

if(n<=n-2&&maze_array[m][n+1]!=1)

else

if(m<=m-2&&maze_array[m+1][n]!=1)

else

if(n>=1&&maze_array[m][n-1]!=1)

} //向下

else

if(direction==1)

else

if(m<=m-2&&maze_array[m+1][n]!=1)

else

if(n>=1&&maze_array[m][n-1]!=1)

else

if(m>=1&&maze_array[m-1][n]!=1)

} //向左

else

if(direction==2)

else

if(n>=1&&maze_array[m][n-1]!=1)

else

if(m>=1&&maze_array[m-1][n]!=1)

else

if(n<=n-2&&maze_array[m][n+1]!=1)

} //向上

else

if(direction==3)

else

if(m>=1&&maze_array[m-1][n]!=1)

else

if(n<=n-2&&maze_array[m][n+1]!=1)

else

if(m<=m-2&&maze_array[m+1][n]!=1)

} }//把路徑節點存入一維陣列中!

void maze_path::push_maze_path_node(maze_path_node ma)

//判斷路徑是否有迴路

int maze_path::is_back()

}//簡化路徑

void maze_path::sim_maze_path()

else

if(n<=n-2&&maze_array[m][n+1]!=1)

else

if(m<=m-2&&maze_array[m+1][n]!=1)

else

if(n>=1&&maze_array[m][n-1]!=1)

} //向下

else

if(direction==1)

else

if(m<=m-2&&maze_array[m+1][n]!=1)

else

if(n>=1&&maze_array[m][n-1]!=1)

else

if(m>=1&&maze_array[m-1][n]!=1)

} //向左

else

if(direction==2)

else

if(n>=1&&maze_array[m][n-1]!=1)

else

if(m>=1&&maze_array[m-1][n]!=1)

else

if(n<=n-2&&maze_array[m][n+1]!=1)

} //向上

else

if(direction==3)

else

if(m>=1&&maze_array[m-1][n]!=1)

else

if(n<=n-2&&maze_array[m][n+1]!=1)

else

if(m<=m-2&&maze_array[m+1][n]!=1)

} maze_node_passby_array[m][n]++;//路過次數加1

maze_array[m][n]=2;

push_maze_path_node(maze_path_node(m,n,direction,maze_node_passby_array[m][n]));//新增路徑結點

}

c解決迷宮問題

問題描述 在迷宮中求從入口到出口的一條簡單路徑。迷宮可用方塊來表示,每個方塊或者是通道 用空白方塊表示 或者是牆 用帶陰影的方塊表示 迷宮求解 這個經典的問題,應用棧這種資料結構,自己設計乙個方案,並上機實現從入口到出口的一條簡單路徑。為了表示迷宮,用二維陣列表示,如 int a 10 8 3是入口...

c 解決迷宮問題

一 實驗內容 1.1 知識點 1.2 實驗環境 2.1 地圖 利用二維陣列定義乙個高 20 長 30 的地圖,同時用特殊 標記地圖的每乙個位置。比如通路設定為 0,死路設定為 1 等,在顯示地圖的時候只需要根據標記列印出地圖每個位置對應的符號。比如 0 為通路,用 兩個空格表示 1 為死路,用 方塊...

迷宮問題 遞迴解決

建立人 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 地圖的情況...