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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Applese 走迷宫(优先队列+bfs)

發布時間:2024/9/3 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Applese 走迷宫(优先队列+bfs) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

鏈接:https://ac.nowcoder.com/acm/problem/22344
來源:牛客網

精通程序設計的 Applese 雙寫了一個游戲。

在這個游戲中,它被困在了一個 n×m 的迷宮中,它想要逃出這個迷宮。

在迷宮中,有一些方格是水池,只有當 Applese 處于水屬性的時候才可以通過;有一些方格是巖漿,只有當 Applese 是火屬性的時候可以通過;有一些方格是墻壁,無論如何都無法通過;另一些格子是空地(包括起點和終點),可以自由通過。

在一些空地上有神秘道具可以讓 Applese 轉換自己的屬性(從水屬性變為火屬性或從火屬性變為水屬性,需要一個單位的時間)。

已知 Applese 在一個單位的時間內可以朝四個方向行走一格,且開始處于水屬性,位于空地的道具拾取后只能在該處立即使用(或者不使用),且可以多次使用。求它走出迷宮需要的最少時間。
輸入描述:
第一行兩個正整數 n, m 表示迷宮的大小。
接下來 n 行,每行長度為 m 的字符串。描述地圖。
其中 ‘S’ 表示起點,‘T’ 表示終點,’.’ 表示空地,‘w’表示巖漿,’~‘表示水池,’@’ 表示道具,’#'表示障礙。
保證地圖中的起點和終點只有一個,道具都位于空地。

5 5 .w@.. .S#.. ~w#.. .w..~ @w.~T

輸出:

18

備注:
1≤n,m≤100
Ac_code:

#include <stdio.h> #include <queue> const int maxn = 105; using namespace std; int n,m,sx,sy,ex,ey; struct point {int x,y;int now, step;bool operator <(const point &p)const{return step > p.step;} }; char mp[maxn][maxn]; bool vis[maxn][maxn][2]; int dx[]= {-1,1,0,0},dy[]= {0,0,-1,1}; int bfs() {point s;s.x = sx,s.y = sy;s.now = 0,s.step = 0;vis[s.x][s.y][s.now] = true;priority_queue<point>q;q.push(s);while(!q.empty()){point k = q.top();q.pop();if(k.x==ex&&k.y==ey){return k.step;}point t;for(int i = 0; i < 4; i++){t.x = k.x + dx[i];t.y = k.y + dy[i];t.now = k.now;t.step = k.step + 1;if(t.x<0||t.x>=n||t.y<0||t.y>=m)continue;if(mp[t.x][t.y]=='#')continue;if(!vis[t.x][t.y][t.now]){if(mp[t.x][t.y]=='.'||mp[t.x][t.y]=='S'||mp[t.x][t.y]=='T'||mp[t.x][t.y]=='@'){vis[t.x][t.y][t.now] = true;q.push(t);}else if((mp[t.x][t.y]=='~'&&k.now==0)||(mp[t.x][t.y]=='w'&&k.now==1)){vis[t.x][t.y][t.now] = true;q.push(t);}}if(mp[k.x][k.y]=='@'){t.now = !k.now;if(vis[t.x][t.y][t.now])continue;if((mp[t.x][t.y]=='~'&&t.now==1)||(mp[t.x][t.y]=='w'&&t.now==0))//這里要注意continue;t.step = k.step+2;vis[t.x][t.y][t.now] = true;q.push(t);}}}return -1; } int main() {scanf("%d%d",&n,&m);for(int i = 0; i < n; i++){scanf("%s",mp[i]);for(int j = 0; j < m; j++){if(mp[i][j]=='S'){sx = i;sy = j;}else if(mp[i][j]=='T'){ex = i;ey = j;}}}printf("%d\n",bfs());return 0; }

總結

以上是生活随笔為你收集整理的Applese 走迷宫(优先队列+bfs)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 91天天综合 | 日本三级韩国三级三级a级中文 | 国产精品成人国产乱一区 | 国产妇女馒头高清泬20p多 | 亚洲欧洲精品在线 | 久久综合狠狠综合久久综合88 | 国产无遮挡裸体免费视频 | 人妻少妇偷人精品久久性色 | 五月天激情四射 | 国产精品美女自拍视频 | 无码 人妻 在线 视频 | 97人妻精品一区二区三区 | 欧美激情一区二区三区蜜桃视频 | 欧美韩日一区二区 | 国产在线美女 | 欧美特级aaa| 欧美乱论| 夜夜爽网站 | 天天网综合 | 欧美做爰xxxⅹ性欧美大片 | 国产视频在线一区 | 亚洲精品污 | 中文字字幕一区二区三区四区五区 | 香蕉视频黄色在线观看 | 超薄肉色丝袜一二三 | 日本午夜三级 | 九色91视频 | 永久免费黄色 | 777久久| 久热国产精品 | 爱爱91| 激情五月激情 | 久久综合久久综合久久 | 男人的天堂av片 | 欧美在线视频网 | 亚洲综合二区 | 久久综合丁香 | 午夜性色福利影院 | 色哟哟一区二区 | 一二区精品 | 欧美 在线 | 欧美精品另类 | 青青草视频国产 | 亚洲网址在线观看 | 亚洲精品热 | 97se亚洲综合 | 久久综合亚洲精品 | 国产一区二区三区乱码 | 久久久久久久久蜜桃 | 亚洲成人精品在线播放 | 国语对白永久免费 | 丁香婷婷六月 | 姝姝窝人体www聚色窝 | 久草影视网| 中国老头性行为xxxx | 一级黄色在线播放 | 欧美久久久久久久久中文字幕 | 成人免费视频国产在线观看 | 天堂在线视频 | 色多多av| 男ji大巴进入女人视频 | 久久国产三级 | 欧美日韩加勒比 | 九九爱精品视频 | 色狠狠综合 | 在线中文字幕日韩 | 午夜激情在线视频 | 亚洲乱亚洲乱妇 | 日韩免费看 | 免费超碰在线观看 | 特级西西人体444www高清大胆 | 美女自拍偷拍 | 制服下的诱惑暮生 | www.好了av.com | 国产一区二区三区视频在线观看 | 女人扒开屁股让男人捅 | 爽爽影院在线免费观看 | 亚洲自拍偷拍欧美 | 日韩精品免费一区二区在线观看 | 亚欧视频在线观看 | 美女黄色在线观看 | 玖玖在线精品 | 色香蕉av| 中文字幕成人在线视频 | 青青操精品 | 中文字幕在线观看的网站 | 伊人久久久久噜噜噜亚洲熟女综合 | 91福利在线播放 | 成人涩涩网 | 波多野av在线 | 五月婷婷六月丁香综合 | 青草视频网 | 天堂av片| 欧美乱大交 | 麻豆做爰免费观看 | 久久婷婷影院 | 午夜777| 碰碰色| 国产www性 |