题目大意:
一个地方有n个洞穴,编号为1到n。它们之间,有的有双向的小路相连,有的却没有,不过所有洞穴都通过小路连在了一起,没有任何两个洞穴不能相互到达。现在要求所有人都到达洞穴出口处,有两个洞穴是出口,分别编号1和n,每个人都选择最短的路线,从某一个出口离开。所有的小路都是有长度的,而所有人的速度都认为是1。
现在请问,在给定的T时间内,最多有多少人可以离开。另一个问题,最慢的人离开需要多少时间。


思路:
这道题很明显是一道最短路问题,由于数据比较小,我们可以用Floyed算法。先求出每个点之间的最短距离,再看每一个人离开所需的时间,相比较后,输出即可。


代码:

#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
int f[5001][5001],n,sum,m,t,y,x,k,a[1001],maxn;void init()
{freopen("escape.in","r",stdin);freopen("escape.out","w",stdout);  //文件输入输出 memset(f,0x7f,sizeof(f));  //初始化,两点之间的距离赋值为无限 scanf("%d%d%d",&n,&m,&t);for (int i=1;i<=n;i++)f[i][i]=0;  //自己到自己的距离为0 for (int i=1;i<=m;i++){scanf("%d%d",&x,&y);scanf("%d",&f[x][y]);f[y][x]=f[x][y];  //无向图 }scanf("%d",&k);for (int i=1;i<=k;i++) {scanf("%d",&a[i]);  //读入每个人的位置 }
}int main()
{init();for (int q=1;q<=n;q++)  //Floyed算法for (int i=1;i<=n;i++)for (int j=1;j<=n;j++)if (f[i][j]>(long long)f[i][q]+f[q][j])f[i][j]=f[i][q]+f[q][j];  //求i和j之间的最短路径 for (int i=1;i<=k;i++)  //比较输出 {if (min(f[1][a[i]],f[n][a[i]])<=t) sum++;  //如果从更近的出口离开所需时间小于t就计数 if (maxn<min(f[1][a[i]],f[n][a[i]])) maxn=min(f[1][a[i]],f[n][a[i]]);  //寻找离开最晚的人离开所需的时间 } printf("%d\n%d",sum,maxn);return 0;
}

转载于:https://www.cnblogs.com/hello-tomorrow/p/9313136.html

SSL-ZYC 逃离洞穴相关推荐

  1. yzoj P2350 逃离洞穴 题解

    题意 跑两边spfa的水题,注意判断有人才取最大值 代码 #include<bits/stdc++.h> using namespace std; inline int read(){in ...

  2. 【华为编程大赛】洞穴逃生

    洞穴逃生  描写叙述:  精灵王子爱好冒险,在一次探险历程中,他进入了一个神奇的山洞.在洞穴深处,精灵王子不小心触动了洞穴内暗藏的机关,整个洞穴将非常快塌陷,精灵王子必须尽快逃离洞穴.精灵王子的跑步速 ...

  3. 华为上机【洞穴逃生】

    洞穴逃生 描述: 精灵王子爱好冒险,在一次探险历程中,他进入了一个神秘的山洞.在洞穴深处,精灵王子不小心触动了洞穴内暗藏的机关,整个洞穴将很快塌陷,精灵王子必须尽快逃离洞穴.精灵王子的跑步速度为17m ...

  4. 洞穴逃生 java_洞穴逃生

    洞穴逃生 描述: 精灵王子爱好冒险,在一次探险历程中,他进入了一个神秘的山洞.在洞穴深处,精灵王子不小心触动了洞穴内暗藏的机关,整个洞穴将很快塌陷,精灵王子必须尽快逃离洞穴.精灵王子的跑步速度为17m ...

  5. 2016华为校招上机试题2——洞穴逃生

    二.洞穴逃生 描述:精灵王子爱好冒险,在一次探险历程中,他进入了一个神秘的山洞.在洞穴深处,精灵王子不小心触动了洞穴内暗藏的机关,整个洞穴将很快塌陷,精灵王子必须尽快逃离洞穴.精灵王子的跑步速度为17 ...

  6. 开放API接口签名验证,让你的接口从此不再裸奔

    点击上方蓝色"终端研发部",选择"设为星标" 学最好的别人,做最好的我们 接口安全问题 请求身份是否合法? 请求参数是否被篡改? 请求是否唯一? AccessK ...

  7. 校招回顾录---华为篇(下)

    2015届[2014年夏]华为公司校招机试中级题试水 本文由CSDN-蚍蜉撼青松[主页:http://blog.csdn.net/howeverpf]原创,转载请注明出处! 写在前面: 当前华为公司的 ...

  8. nginx配置http、https访问,nginx指定ssl证书,阿里云腾讯云华为云设置nginx https安全访问

    nginx配置http.https访问 要设置https访问需要从对应的云厂商申请证书,并下载Nginx证书到服务器. 我这里从阿里云申请了免费的域名证书,然后将证书放置在服务器的/etc/ssl/. ...

  9. debian10 apache2使用ssl

    安装apache2 apt-get install apache2 修改配置 vim /etc/apache2/sites-available/default-ssl.conf 这里修改为你的证书位置 ...

最新文章

  1. mysql为什么每天0点就装东西_MySQL的详细安装教程
  2. 服务器查看不到集群信息,集群服务器查看内存
  3. 【计算理论】确定性有穷自动机 ( 自动机组成 | 自动机语言 | 自动机等价 )
  4. caffe linux 教程,CentOS7安装Caffe的教程详解
  5. mac m1下安装kubenetes的dashboard
  6. android.view.InflateException: Binary XML file line #34: Error inflating class
  7. 浏览器页面关闭事件获取及处理--onbeforeunload
  8. VS2012生成事件
  9. 功能Java示例 第8部分–更多纯函数
  10. 使用 v-cloak 防止页面加载时出现 vuejs 的变量名
  11. “死”法不重样,一根数据线如何从“机器伴侣”变身电脑杀手?...
  12. atitit.ajax bp dwr 3.的注解方式配置使用流程总结 VO9o.....
  13. redis数据类型之Set
  14. 解决MobaXterm左侧没有文件列表,没有SCP,不显示文件夹
  15. 判断m是否为素数c语言程序,c语言判断是否素数程序代码
  16. 【欢迎白嫖】新·vbs表白代码
  17. spyder配置python_快速了解Python开发环境Spyder
  18. 微信语音技术原理_玩人工智能的你必须知道的语音识别技术原理
  19. 百度智能云在AI云服务市场四度夺魁!
  20. 语法长难句-----名词和名词性从句

热门文章

  1. Python前世今生
  2. 什么是mac os?它有哪些好的特点?有哪些应用小技巧
  3. The Moon and Sixpence摘抄
  4. Linux连接荣耀路由器pro2,荣耀路由器Pro2与路由存储、远程访问、家庭共享
  5. 黄山杭州五日游攻略,厦门出发
  6. MySQL关系运算和连接运算,数据库的关系运算和完整性约束
  7. 解读第一个C++程序
  8. 【转】Java-满天繁星案例
  9. 2021年全球与中国滴漏式咖啡机行业市场规模及发展前景分析
  10. Word从指定页开始插入页码