尋找迷宮出路

2021-06-21 12:31:28 字數 913 閱讀 8480

題目:

用乙個10*10的矩陣代表迷宮,1為障礙物,0為通路,角色只能朝上下左右四個方向移動。

矩陣最外圍一圈為1,代表圍牆。入口座標預設為(1,1)。

輸入:第一行有兩個數,代表出口的橫座標和縱座標。

第二行開始輸入代表迷宮的矩陣。

輸出:如果存在離開迷宮的路徑,則離開迷宮的路徑,否則輸出「nopath」。

示例:

**:

#include#includeusing namespace std;

struct node

;int maze[10][10];

int mark[10][10];

bool found=false;

int zy[4]=;

int zx[4]=;

stackstk;

int exit_row,exit_col;

void init()

void input()

void find()

mark[1][1]=1;

node start;

start.row=1;

start.col=1;

start.dir=0;

stk.push(start);

while(!stk.empty()&&!found)

else if(maze[next_row][next_col]==0&&mark[next_row][next_col]==0)

else

}if(!found)

}}void print()

{ if (!found)

{cout<

迷宮輸出路徑

定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從起點到終點的最短路線。input m和n,表示乙個m n 的二維陣列,表示乙個迷宮。sx,sy,p,q分別表示起點和終點的座標資料保證有唯一解。outp...

迷宮問題(輸出路徑)

迷宮問題 time limit 1000 ms memory limit 65536 kb 64bit io format i64d i64u description 定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求...

尋找迷宮路徑

尋找迷宮路徑其實就是遍歷每乙個可能的路徑,碰到能夠成功的路徑就返回。bool findpath position here here.row 1 here.col 1 maze 1 1 1 防止回到入口 int option 0 下一步 int lastoption 3 尋找一條路徑 while h...