迷宮尋寶(一) bfs

2022-03-31 22:00:51 字數 1231 閱讀 6644

時間限制:1000 ms  |  記憶體限制:65535 kb

難度:4

描述乙個叫acm的尋寶者找到了乙個藏寶圖,它根據藏寶圖找到了乙個迷宮,這是乙個很特別的迷宮,迷宮裡有n個編過號的門(n<=5),它們分別被編號為a,b,c,d,e.為了找到寶藏,acm必須開啟門,但是,開門之前必須在迷宮裡找到這個開啟這個門所需的所有鑰匙(每個門都至少有一把鑰匙),例如:現在a門有三把鑰匙,acm就必須找全三把鑰匙才能開啟a門。現在請你編寫乙個程式來告訴acm,他能不能順利的得到寶藏。

輸入輸入可能會有多組測試資料(不超過10組)。

每組測試資料的第一行包含了兩個整數m,n(1

輸出每行輸出乙個yes表示acm能找到寶藏,輸出no表示acm找不到寶藏。

樣例輸入

4 4 

s.x.

a.x.

..xg

....

3 4

s.xa

.axb

b.ag

0 0

樣例輸出

yes 

no

題解:

num記錄鑰匙的個數;神搜,搜到鑰匙就加上,遇到門就判斷,帶個回溯;但是不知道對不對,還在判題中;

bfs**:

1 #include2 #include

3 #include4

#define mem(x) memset(x,0,sizeof(x))

5using

namespace

std;

6char map[25][25];7

int vis[25][25];8

int key[10];9

int disx[4]=;

10int disy[4]=;

11int

m,n;

12struct

node;

15bool

limit(node a)

20void bfs(int sx,int

sy)33

if(map[a.x][a.y]>='

a'&&map[a.x][a.y]<='e'

)40}41

for(int i=0;i<4;i++)48}

49 puts("no"

);50}51

intmain()

60bfs(sx,sy);61}

62return0;

63 }

迷宮尋寶(一) BFS

時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述乙個叫acm的尋寶者找到了乙個藏寶圖,它根據藏寶圖找到了乙個迷宮,這是乙個很特別的迷宮,迷宮裡有n個編過號的門 n 5 它們分別被編號為a,b,c,d,e.為了找到寶藏,acm必須開啟門,但是,開門之前必須在迷宮裡找到這個開啟這個...

nyoj ACM 迷宮尋寶(一) bfs

迷宮尋寶 一 時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 乙個叫acm的尋寶者找到了乙個藏寶圖,它根據藏寶圖找到了乙個迷宮,這是乙個很特別的迷宮,迷宮裡有n個編過號的門 n 5 它們分別被編號為a,b,c,d,e.為了找到寶藏,acm必須開啟門,但是,開門之前必須在迷宮裡...

NYOJ82 迷宮尋寶(一) BFS

時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 乙個叫acm的尋寶者找到了乙個藏寶圖,它根據藏寶圖找到了乙個迷宮,這是乙個很特別的迷宮,迷宮裡有n個編過號的門 n 5 它們分別被編號為a,b,c,d,e.為了找到寶藏,acm必須開啟門,但是,開門之前必須在迷宮裡找到這個開啟這...