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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

hdu1242 Rescue DFS(路径探索题)

發布時間:2025/3/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hdu1242 Rescue DFS(路径探索题) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
hdu1242 Rescue DFS(路徑探索題)

這里我定義的路徑探索題指 找某路能夠到達目的地,每次走都有方向,由于是探索性的走 之后要后退 那些走過的狀態都還原掉

地址:http://acm.hdu.edu.cn/showproblem.php?pid=1242

Rescue

Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 15884????Accepted Submission(s): 5759


Problem Description Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M <= 200) matrix. There are WALLs, ROADs, and GUARDs in the prison.

Angel's friends want to save Angel. Their task is: approach Angel. We assume that "approach Angel" is to get to the position where Angel stays. When there's a guard in the grid, we must kill him (or her?) to move into the grid. We assume that we moving up, down, right, left takes us 1 unit time, and killing a guard takes 1 unit time, too. And we are strong enough to kill all the guards.

You have to calculate the minimal time to approach Angel. (We can move only UP, DOWN, LEFT and RIGHT, to the neighbor grid within bound, of course.)

Input First line contains two integers stand for N and M.

Then N lines follows, every line has M characters. "." stands for road, "a" stands for Angel, and "r" stands for each of Angel's friend.?

Process to the end of the file.

Output For each test case, your program should output a single integer, standing for the minimal time needed. If such a number does no exist, you should output a line containing "Poor ANGEL has to stay in the prison all his life."?

Sample Input 7 8 #.#####. #.a#..r. #..#x... ..#..#.# #...##.. .#...... ........
Sample Output 13


大意:天使 a被關 ?朋友r(可以有多個)要去救天使 r要繞過#(障礙物)和x(守衛)去尋找天使a 不能穿過障礙物 要走守衛那一步必須打敗守衛 時間為2,其他每步時間為1;

問找到天使的最短時間;


思路:用搜索做,由于r可以有多個,所以從天使a出發,每次都有四個方向可以走 用visit[x][y]記錄該點是否被走過,如往一個方向走但是另一個點被visit過就不會重復走了

往其中一個方向走后繼續進行dfs直到找到r或者無路可走 注意由于是探索性的走,走完進行DFS后記得往后退,狀態還原;


代碼如下:

#include<iostream> using namespace std; #include<string.h> #define max 205 char map[max][max]; long a[100000],step,sum,n,m,visited[max][max]; long directions[4][2]={{0,1},{1,0},{0,-1},{-1,0}};//DFS 不用隊列,不用結構體 /**7 8 #.#####. #.a#..r. #..#x... ..#..#.# #...##.. .#...... ........ output<<13*/ void DFS(int x,int y) {int i,mx,my;if(map[x][y]=='r')a[sum++]=step;else if(map[x][y]!='#'){for(i=0;i<4;i++){mx=x+directions[i][0];my=y+directions[i][1];if(map[mx][my]!='#'&&mx>=1&&mx<=n&&my>=1&&my<=m&&!visited[mx][my])//不是墻并且沒走過{if(map[x][y]=='x')step++;step++;visited[mx][my]=1;DFS(mx,my); //所以關鍵要得到值的是遞歸的這一步 推導的時候讓這個的下一個DFS就是到達朋友那點比較好理解為什么后面要還原visited[mx][my]=0;//這一步的原因,上面DFS進行完后要將狀態還原step--; //下面這些都要還原if(map[x][y]=='x')step--;}}} }int main() {long i,j,x,y,min;while(cin>>n>>m){memset(visited,0,sizeof(visited));sum=0;step=0;min=max;for(i=1;i<=n;i++){for(j=1;j<=m;j++){cin>>map[i][j];if(map[i][j]=='a')//記錄天使的地址{x=i;y=j;}}}visited[x][y]=1;DFS(x,y);if(sum==0)cout<<"Poor ANGEL has to stay in the prison all his life."<<endl;else{for(i=0;i<sum;i++)if(a[i]<min)min=a[i];cout<<min<<endl;}}return 0; }


版權聲明:本文為博主原創文章,未經博主允許不得轉載。

posted on 2014-07-29 21:23 france 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/france/p/4808704.html

總結

以上是生活随笔為你收集整理的hdu1242 Rescue DFS(路径探索题)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 精品国产乱码久久久久久蜜臀网站 | 黄a免费网络 | 国产美女黄网站 | 国产精品探花一区二区在线观看 | 欧美一区二区视频 | 日韩精品一区不卡 | 大吊一区二区三区 | 亚洲欧美视频在线观看 | 午夜精品久久 | 日本肉体xxxⅹ裸体交 | 自拍偷拍第五页 | 日韩欧美一级二级 | 李丽珍裸体午夜理伦片 | 男人天堂网在线 | 97精品久久人人爽人人爽 | 一区二区三区网 | 性高跟鞋xxxxhd国产电影 | av电影在线观看不卡 | 国产天堂资源 | 亚洲暴爽 | 草草影院网址 | 少妇丰满尤物大尺度写真 | 91亚洲成人| 少妇又白又嫩又色又粗 | 男人懂得网站 | 国产色视频在线 | 国产欧美a | 黄在线免费观看 | 日韩二三区| 中国性xxx| 天堂中文在线视频 | 这里只有精品国产 | 一区二区中文字幕在线观看 | 处破女av一区二区 | 亚洲欧美乱日韩乱国产 | 影音先锋成人资源站 | 免费不卡av在线 | 97caoporn| 免费观看一区二区三区视频 | 日韩免费av片 | 天堂在线观看av | 国产精品久久毛片av大全日韩 | 久久中文字幕在线 | 精品国产三级片在线观看 | 欧美一区二区三区免费视频 | 韩国三级hd中文字幕 | 中文字幕一区二区三区在线视频 | 日韩视频免费在线播放 | 天天久久久 | 一个色综合网站 | 伊人久久艹 | 麻豆传媒视频入口 | 中文字幕丰满孑伦无码专区 | 国产一区二区小说 | 欧美黑人又粗又大的性格特点 | 亚洲国产一级 | 嫩草研究院在线 | 国产毛片久久 | 夜夜天堂 | 少妇精品高潮欲妇又嫩中文字幕 | 韩国三级hd中文字幕的背景音乐 | 亚洲美女视频在线观看 | 国产高清在线视频 | 国产精品第108页 | 欧美黄色高清视频 | 国产性70yerg老太 | 国产外围在线 | 亚洲精品美女网站 | 久久成年网 | 2022av视频 | 久久av资源 | 蜜臀av中文字幕 | 这里只有精品久久 | 欧美午夜精品久久久久久孕妇 | 亚洲中文字幕97久久精品少妇 | 一级作爱视频 | 国产白浆在线 | 国产一级片一区 | 亚洲成年网 | 国产主播中文字幕 | 久久精品专区 | 6699嫩草久久久精品影院 | 亚洲视频网站在线 | 在线观看xxxx| 全黄性高潮| 99热这| 久久精品国产欧美亚洲人人爽 | 国产精品久久777777毛茸茸 | 亚洲一区二区在线看 | av成人在线观看 | 欧美日韩中文字幕在线视频 | 亚洲色图激情小说 | 91久久精品夜夜躁日日躁欧美 | 亚洲精品国产精品乱码在线观看 | 国内少妇精品 | 黄色网页免费在线观看 | 极品三级 | 不卡中文| 国产日韩精品在线观看 |