簡單的迷宮(bfs)noj1793

2022-08-24 05:03:15 字數 901 閱讀 9945

題目描述

睜開眼睛,bob發現自己被困在乙個迷宮裡了,是做夢麼…

不管那麼多了,還是先離開為妙。不過由於恐懼,bob希望找到一條從入口到出口的最短路徑,你能幫幫他麼?

這個迷宮相當簡單,它是乙個n*m的矩形區域,每個格點可以通向相鄰上下左右四個格點,起點為(1,1),終點為(n,m)。除此之外,迷宮內還有k個點為障礙點,表示他們不可到達,但障礙點不會出現在起點和終點。

輸入組資料輸入。

每組資料,第一行n,m,k, 2<=n,m<=50,0<=k<=n*m-2,

接下來k行,每行兩個整數xi,yi,表示第i個障礙物的座標,障礙物之間不會重複,座標均1<=xi<=n,1<=yi<=m;

輸出每組資料輸出乙個整數,最短路徑長度,如果bob不能到達終點,則輸出-1;

樣例輸入

5 5 8

4 34 5

5 22 2

1 53 3

5 11 4

5 5 8

1 22 2

3 24 2

2 43 4

4 45 4

樣例輸出816

提示undefined

題目**

l.g.

#include

#include

#include

using namespace std;

int ma[100][100],vis[100][100];

int dirx[4] = ;   //四個方向

int diry[4] = ;

struct node ;

int n,m;

int bfs()}}

return -1;

}int main()

cout<< bfs()<

return 0;}

ZZULIOJ 1793 有趣的球 簡單數學

time limit 1 sec memory limit 128 mb submit 29 solved 15 submit status web board sky fire有乙個機器,這個機器每次開啟的瞬間會彈出乙個小球,之後每隔w秒會彈出乙個小球。因為機器不是很完善,該機器每開啟x秒就得關y...

實現簡單的迷宮

我們知道棧的特點是 後進先出 first in last out 也就是說只能在棧的尾部進 行壓棧和出棧,而且出棧的時候只能從最後乙個資料開始。所以我們利用棧這個特點,來實現這個迷宮。在這之中我們要採用 回溯 的方法去處理當遇到路徑不通的情況。原理 每找到乙個通路,就將這個資料壓棧,這樣當前位置的上...

簡單的迷宮問題

給你乙個n m的迷宮,這個迷宮中有以下幾個標識 s代表起點 t代表終點 x代表障礙物 代表空地 現在你們涵哥想知道能不能從起點走到終點不碰到障礙物 只能上下左右進行移動,並且不能移動到已經移動過的點 輸入第一行乙個整數t 1 t 10 接下來有t組測試資料,對於每一組測試資料,第一行輸入2個數n和m...