日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【HRBUST - 1621】迷宫问题II (bfs)

發布時間:2023/12/10 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【HRBUST - 1621】迷宫问题II (bfs) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題干:

小z身處在一個迷宮中,小z每分鐘可以走到上下左右四個方向的相鄰格之一。迷宮中有一些墻和障礙物。
同時迷宮中也有一些怪獸,當小z碰到任意一個怪獸時,小z需要將怪獸消滅掉才可以離開此方格。但消滅
怪獸會花費一定的時間。現在小z想知道走出迷宮需要花費的最少時間。

Input

輸入第一行為組數T(T<=10)。

對于每組數據第一行為兩個整數R和C(1<=R,C<=200)。以下R行每行有C個字符,即迷宮地圖。

其中"#"代表墻和障礙物,"."表示空地,[1~9]的數字代表此處有怪獸以及消滅此處的怪獸需要的時間.

"Z"表示小z的起始位置,"W"表示迷宮出口。

對于每組數據保證起始位置和迷宮出口唯一。

Output

對于每組數據,輸出走出迷宮的最短時間(單位:分鐘)。如果無法走出迷宮則輸出"IMPOSSIBLE"。

Sample Input

2
3 4
.Z..
.234
#.W.
4 4
Z.1.
.32.
##4.
W#..

Sample Output

5
IMPOSSIBLE

Hint

解題報告:

? ? ?優先隊列搞一波pq,如果是普通的bfs,那么隊列即可,因為隊列就能保證取出來的Node結構體的t是最小值,但是這題不一樣,所以需要pq。剛開始寫的時候wa了好幾發最后發現是main函數中那個雙層循環的內層循環寫成了for(int j=i; j<=m; j++)、、、我也是醉了好像不止第一次錯在這里了、、、

AC代碼:

#include<cstdio> #include<queue> #include<cstring> #include<cmath> #include<map> #include<iostream> #include<algorithm> #define ll long long using namespace std; struct Node {int x,y;int t;Node(){}Node(int x,int y,int t):x(x),y(y),t(t){} bool operator<(const Node b) const{return t > b.t;} }; int n,m; int nx[4]={0,1,0,-1}; int ny[4]={1,0,-1,0}; bool vis[205][205]; char maze[205][205]; int bfs(int sx,int sy) {priority_queue<Node> pq;pq.push(Node(sx,sy,0));Node cur;int tx,ty;while(pq.size()) {cur=pq.top();pq.pop(); for(int k = 0; k<4; k++) {tx = cur.x + nx[k];ty = cur.y + ny[k];if(maze[tx][ty] == '#' || vis[tx][ty] || tx < 1 || tx > n || ty < 1 || ty > m) continue;vis[tx][ty]=1;if(maze[tx][ty] == 'W') return cur.t + 1;else if(maze[tx][ty] == '.') pq.push(Node(tx,ty,cur.t+1));else pq.push(Node(tx,ty,cur.t + 1 + maze[tx][ty] - '0'));}}return -1;} int main() {int t,sx,sy;cin>>t;while(t--) {scanf("%d%d",&n,&m);memset(vis,0,sizeof vis);for(int i = 1; i<=n; i++) {scanf("%s",maze[i]+1);}for(int i = 1; i<=n; i++) {for(int j = 1; j<=m; j++) {if(maze[i][j] == 'Z') {sx=i,sy=j;break;}}}int ans = bfs(sx,sy);if(ans == -1) puts("IMPOSSIBLE");else printf("%d\n",ans);}return 0 ; }

?

總結

以上是生活随笔為你收集整理的【HRBUST - 1621】迷宫问题II (bfs)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩在线精品视频 | 亚洲三级伦理 | 长河落日电视连续剧免费观看 | 欧美性视频网站 | 黄频在线免费观看 | 91视频免费观看 | 成人在线观看你懂的 | 人妻妺妺窝人体色www聚色窝 | 黄色网址你懂得 | 免费国产区 | 福利小视频在线观看 | 午夜天堂在线 | 日韩欧美aⅴ综合网站发布 国产成人一区二区三区小说 | 超碰免费av | 亚洲人吸女人奶水 | 亚洲精品成人在线 | 国产激情久久久久 | 奇米狠狠去啦 | 草莓视频一区二区三区 | 久久精品影视 | 蜜臀av性久久久久av蜜臀妖精 | www.色播.com | 激情视频在线免费观看 | 国产色片| 久草网站 | 三八激情网 | 国产美女免费看 | 婷婷五月情 | 国产福利在线视频观看 | 欧美一级视频免费 | 亚洲精品人妻av | www.精品久久 | 新av在线 | 日韩欧美极品 | 欧美精品在线看 | 亚洲色图 欧美 | 这里有精品视频 | 国内91视频 | 日韩精品人妻一区 | 久久噜噜噜精品国产亚洲综合 | 国精产品一品二品国精品69xx | 91尤物在线 | jlzzjizz在线播放观看 | 美女扒开尿口让男人爽 | 一本一道久久综合 | 国产小视频免费在线观看 | 伊人成年网 | 澳门黄色一级片 | 茄子香蕉视频 | 中文字幕日韩一区 | 国产精品极品白嫩在线 | 日日射射 | 香蕉日日| 无套在线观看 | 国产久操视频 | 欧美色综合| 夜夜久久 | 全部毛片永久免费看 | 中国性xxx | 玖玖爱资源站 | 国产无遮挡aaa片爽爽 | 中文字幕人妻一区二区三区 | 丁香亚洲 | 久久视频免费看 | 久久久久久久一区 | 致命魔术电影高清在线观看 | 成人激情视频网站 | 女女综合网 | 里番acg★同人里番本子大全 | 国产a级片 | 97视频入口 | 草草影院发布页 | 三级影片在线免费观看 | 一级做a免费视频 | 依依成人综合 | 韩国日本美国免费毛片 | 国产成人无遮挡在线视频 | 叶山小百合av一区二区 | 欧美色狠 | 国产无码精品一区二区 | 人妻大战黑人白浆狂泄 | 亚洲精品午夜 | 国产精品久久久久久久久久小说 | 欧美日韩大片在线观看 | 久草资源在线播放 | 国产成人精品久久久 | 校园春色自拍偷拍 | 91精品国产自产精品男人的天堂 | 精品综合久久 | 久久成人精品视频 | 一本大道熟女人妻中文字幕在线 | 91福利在线观看视频 | 欧美一级片网站 | 国产毛片毛片毛片毛片 | 操操操操操操 | 欧美老熟妇喷水 | 中文字幕h| 综合天天| 在线国产视频 |