ny82 迷宮尋寶(一) map queue

2022-05-06 08:09:07 字數 1096 閱讀 7182

ac**:講解,先統計在可搜尋範圍內對應的鑰匙數,把搜到的門存到另外的乙個佇列中,第乙個搜尋結束後,開始看搜到的鑰匙能否打看門,

如果能打看門,存到第乙個佇列中,在進行搜尋,知道找到寶藏,或者什麼也沒有找到,則退出;

ac**:

1 #include2 #include3 #include4 #include5 #include6 #include7

using

namespace

std;

8 mapkey;

9 mapkey1;

10int dir[4][2]=;

11];

12int vis[21][21

];13

ints1,s2,e1,e2,m,n;

14structt15

now,eed;

18struct

key19

ee,nn;

22int

bfs()

2351 vis[now.x][now.y]=1;52

}53}54

}55int siz=bb.size();

56while(!bb.empty() && siz--)//

遍歷搜到的門,看能否開啟,如果能的話,存到第乙個佇列中,再次搜尋;

5763

else

bb.push(nn),bb.pop();64}

65if(aa.empty())//

如果佇列1,為空證明,路已經走不下去了,結束搜尋;

66return0;

67}68return0;

69}70int

main()

7187

int ans=bfs();

88if(ans==1

)89 cout<<"

yes"

<90else cout<<"no"

<92return0;

93//

3 494

95//

.axb

96//

b.ag

97 }

ny82 迷宮尋寶(一) map queue

ac 講解,先統計在可搜尋範圍內對應的鑰匙數,把搜到的門存到另外的乙個佇列中,第乙個搜尋結束後,開始看搜到的鑰匙能否打看門,如果能打看門,存到第乙個佇列中,在進行搜尋,知道找到寶藏,或者什麼也沒有找到,則退出 ac 1 include2 include3 include4 include5 incl...

nyoj82迷宮尋寶(一)

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

迷宮尋寶(一) nyoj 82

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