2335:拯救雅典娜

news/2024/10/18 5:47:35/

2335:拯救雅典娜

时间限制:1 秒

内存限制:32 兆

题目描述

悲剧的雅典娜又被坏蛋抓走了!于是乎,正在马尔代夫度假的青铜五小强又要加班了-_-!

这次雅典娜被抓到了一个迷宫中,这个迷宫是方形的,且只有一层,由n*m个完全一样的正方形房间组成。
青铜五小强来到了房间S,也就是他们的起始点,雅典娜被关在房间E。而其他的房间,有些无法进入。小强们只能向前后左右四个方向行进,他们每到达一个新的房间就会消耗1个单位的时间。
已知雅典娜只能坚持t个单位的时间,时间一过立马挂掉,现在给你迷宫的布局、青铜五小强的起始位置S、雅典娜被关的位置E,请你判断小强们是否能够在雅典娜挂掉之前找到她。
注意:我们规定小强们到达起始位置时已经消耗了1个单位的时间了。

 

输入格式

输入包含多组测试数据。
每组输入的第一行为3个整数n,m,t(0<=n,m<=10,1<=t<=20),t表示雅典娜能够坚持的时间,n和m不会同时为1,当n和m中有一个为0或都为0时,输入结束。
接下来n行,每行输入m个字符,每个字符表示一个房间的情况:
‘.’:表示此房间可以通过。
‘#’:表示此房间不可以通过,需要绕道。
‘S’:表示青铜五小强的其实位置。
‘E’:表示雅典娜被关的位置。
题目保证每组输入有且仅有一个S和E。

输出

对于每组输入,如果能够在雅典娜挂掉之前找到她,输出“Oh Yes!!!”,否则输出“Tragedy!!!”。

样例输入

4 4 10
....
....
....
S##E
3 4 20
.#E.
.S#.
.#..
3 0 5

样例输出

Oh Yes!!!
Tragedy!!!

 1 //简单的DFS,注意有搜索深度的限制(t)。 
 2 #include<stdio.h>
 3 #include<string.h>
 4 const int di[4]={-1,1,0,0},dj[4]={0,0,-1,1};
 5 int sx,sy,n,m,t,i,j;
 6 bool mark[110][110],ans;
 7 char map[110][110];
 8 void tr(int T,int pi,int pj)
 9 {
10     if(T==t)return;
11     int ti,tj,k;  //必须是局部变量!!! 
12     for(k=0;k<4;k++){
13         ti=pi+di[k];
14         tj=pj+dj[k];
15         if(!mark[ti][tj]&&(map[ti][tj]=='.'||map[ti][tj]=='E')){
16             mark[ti][tj]=true;
17             if(map[ti][tj]=='E'){ans=true;return;}
18             else tr(T+1,ti,tj);
19             if(ans==true)return;
20             mark[ti][tj]=false;
21         }
22         
23     }
24 }
25 int main()
26 {
27     while(scanf("%d%d%d",&n,&m,&t),n&&m&&t)
28     {
29         memset(map,'\0',sizeof(map));
30         memset(mark,false,sizeof(mark));
31         for(i=1;i<=n;i++){
32                 {
33                     scanf("%s",map[i]+1);
34                     for(j=1;j<=m;j++){
35                     if(map[i][j]=='S'){sx=i;sy=j;}
36                     }
37                 }
38         }
39         mark[sx][sy]=true;
40         ans=false;
41         tr(1,sx,sy);
42         printf("%s\n",ans?"Oh Yes!!!":"Tragedy!!!");
43     }
44     return 0;
45 }

 

转载于:https://www.cnblogs.com/gangduo-shangjinlieren/p/3176428.html


http://www.ppmy.cn/news/572510.html

相关文章

机器学习之PCA算法

目录 PCA算法 PCA目标 PCA原理推导 基于最大可分性推导 基于最近重构误差推导 PCA算法流程 PCA优点 PCA缺点 基于PCA的人脸识别 PCA算法 PCA&#xff0c;即主成分分析&#xff08;Principal Component Analysis&#xff09;&#xff0c;是一种常用的降维技术&#x…

微软「雅典娜」AI芯片项目曝光,已与OpenAI共同测试

关注并星标 从此不迷路 计算机视觉研究院 公众号ID&#xff5c;ComputerVisionGzq 学习群&#xff5c;扫码在主页获取加入方式 计算机视觉研究院专栏 作者&#xff1a;Edison_G 雅典娜&#xff0c;希腊战争女神。微软以此命名&#xff0c;或许是对日益升温的 AI 军备竞赛的回应…

纱织小姐雅典娜_用雅典娜分析巧克力

纱织小姐雅典娜 Recently, I have been wanting to up my game when it comes to analysing data — so I decided to use this as an opportunity to take AWS Athena for a whirl and see what it’s capable of. 最近&#xff0c;在分析数据时&#xff0c;我一直想提高自己的…

《雅典娜》曝中文预告片 众星潜伏场面燃爆

今夏即将登陆中国院线的韩国谍战动作新片《雅典娜&#xff1a;无间谍局》披露中文预告片&#xff0c;霸气尽显。</div> </script></div> <div class"data"> <div style"text-align: center;"…

【观察】数智驱动+知识封装,鼎捷软件如何炼就“雅典娜”这个“新物种”?...

毫无疑问&#xff0c;过去几年随着数字化转型逐渐深入千行百业&#xff0c;越来越多的行业也正从“浅层次”数字化走向“深层次”数字化&#xff0c;因此未来如何进一步深化数智化转型&#xff0c;实现企业业务和商业模式的创新不仅是“大势所趋”&#xff0c;更是未来企业增长…

免费!终极ChatGPT提示+Midjourney宝藏神图,1200+图片,震撼人心

新智元报道 编辑&#xff1a;Aeneas 【新智元导读】一位网友花费一周&#xff0c;用从ChatGPT生成的prompt&#xff0c;在Midjourney中生成了一千多张精彩的作品。 Midjourney虽然功能神奇&#xff0c;但在prompt能力平平的人手里&#xff0c;它并不能绽放自己的魔力。 国外的…

hdu4562 守护雅典娜

先筛选出来两种圆&#xff0c;一种是包含雅典娜&#xff0c;不包含怪兽的&#xff0c;一种是不包含雅典娜&#xff0c;包含怪兽的&#xff0c;然后圆的半径大小排序&#xff0c;分别对两种圆dp&#xff0c;最后合并两种DP&#xff0c;求出最大的就是结果 #include <cstdio&g…

凯撒密码图解

一 什么是凯撒密码 二 凯撒密码的加密过程 用凯撒密码加密&#xff0c;密钥是3 三 凯撒密码的解密过程 用凯撒密码解密&#xff0c;密钥也是3 四 暴力破解凯撒密码 在凯撒密码中&#xff0c;密钥就是字母表平移的数字。由于字母表只有26个字母&#xff0c;因此加密用的密钥只…