哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果想把猫变成鱼,可以通过念一个直接魔咒lalala,也可以将猫变老鼠、老鼠变鱼的魔咒连起来念:hahahehe。

现在哈利·波特的手里有一本教材,里面列出了所有的变形魔咒和能变的动物。老师允许他自己带一只动物去考场,要考察他把这只动物变成任意一只指定动物的本事。于是他来问你:带什么动物去可以让最难变的那种动物(即该动物变为哈利·波特自己带去的动物所需要的魔咒最长)需要的魔咒最短?例如:如果只有猫、鼠、鱼,则显然哈利·波特应该带鼠去,因为鼠变成另外两种动物都只需要念4个字符;而如果带猫去,则至少需要念6个字符才能把猫变成鱼;同理,带鱼去也不是最好的选择。

输入格式:
输入说明:输入第1行给出两个正整数N (≤100)和M,其中N是考试涉及的动物总数,M是用于直接变形的魔咒条数。为简单起见,我们将动物按1~N编号。随后M行,每行给出了3个正整数,分别是两种动物的编号、以及它们之间变形需要的魔咒的长度(≤100),数字之间用空格分隔。

输出格式:
输出哈利·波特应该带去考场的动物的编号、以及最长的变形魔咒的长度,中间以空格分隔。如果只带1只动物是不可能完成所有变形要求的,则输出0。如果有若干只动物都可以备选,则输出编号最小的那只。

输入样例:
6 11
3 4 70
1 2 1
5 4 50
2 6 50
5 6 60
1 3 70
4 6 60
3 6 80
5 1 100
2 4 60
5 2 80
输出样例:
4 70

#include <bits/stdc++.h>
using namespace std;
const int N=105,INF=0x3f3f3f3f;int n,m,dist[N][N],ans=INF,p;void floyd()
{for(int k=1;k<=n;++k){for(int i=1;i<=n;++i){for(int j=1;j<=n;++j){dist[i][j]=min(dist[i][j],dist[i][k]+dist[k][j]);}}}
}int main()
{cin>>n>>m;memset(dist,0x3f,sizeof dist);for(int i=1;i<=n;++i)dist[i][i]=0;while(m--){int x,y,z;cin>>x>>y>>z;dist[x][y]=min(dist[x][y],z);dist[y][x]=dist[x][y];}floyd();for(int i=1;i<=n;++i){int len=0;for(int j=1;j<=n;++j){if(dist[i][j]>len)len=dist[i][j];}if(len<ans){ans=len;p=i;}}if(ans>INF/2)cout<<0;else cout<<p<<" "<<ans;return 0;
}

7-1 哈利·波特的考试 多源最短路 C++相关推荐

  1. pta 哈利·波特的考试

    哈利·波特要考试了,他需要你的帮助.这门课学的是用魔咒将一种动物变成另一种动物的本事.例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等.反方向变化的魔咒就是简单地将原来的魔咒倒过来念 ...

  2. 07-图4 哈利·波特的考试 (25 分)

    哈利·波特要考试了,他需要你的帮助.这门课学的是用魔咒将一种动物变成另一种动物的本事.例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等.反方向变化的魔咒就是简单地将原来的魔咒倒过来念 ...

  3. 7-4 哈利·波特的考试 (25 分)(C语言实现)

    7-4 哈利·波特的考试 (25 分) 哈利·波特要考试了,他需要你的帮助.这门课学的是用魔咒将一种动物变成另一种动物的本事.例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等.反方向 ...

  4. PTA 7-1 哈利·波特的考试

    题目描述 哈利·波特要考试了,他需要你的帮助.这门课学的是用魔咒将一种动物变成另一种动物的本事.例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等.反方向变化的魔咒就是简单地将原来的魔 ...

  5. 数据结构PTA 案例6-1.6 哈利·波特的考试

    案例6-1.6 哈利·波特的考试 题目 解法 题目 哈利·波特要考试了,他需要你的帮助.这门课学的是用魔咒将一种动物变成另一种动物的本事.例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe ...

  6. 7-1 哈利·波特的考试 (25分)

    7-1 哈利·波特的考试 (25分) 哈利·波特要考试了,他需要你的帮助.这门课学的是用魔咒将一种动物变成另一种动物的本事.例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等.反方向变 ...

  7. 7-6 哈利·波特的考试(题解)

    作者 陈越 单位 浙江大学 哈利·波特要考试了,他需要你的帮助.这门课学的是用魔咒将一种动物变成另一种动物的本事.例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等.反方向变化的魔咒就 ...

  8. 7-8 哈利·波特的考试(Floyd)

    题目链接:7-8 哈利·波特的考试 考查知识:Floyd 题意描述:给定n个动物,m条咒语,问最难变的那种动物需要的魔咒最短. 思路简析: 动物即地点,一个动物变为另一个动物的魔咒长度即距离,最难变的 ...

  9. MOOC 07-图4 哈利·波特的考试

    哈利·波特要考试了,他需要你的帮助.这门课学的是用魔咒将一种动物变成另一种动物的本事.例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等.反方向变化的魔咒就是简单地将原来的魔咒倒过来念 ...

最新文章

  1. C语言memset函数详解(Linux下和windows下的差异)
  2. python自定义线程
  3. Ubuntu 16.04 安装wine
  4. 读书笔记-你不知道的JS上-混入与原型
  5. php 路径有汉字,路径文字工具
  6. Project Pacific的第一次接触(转)
  7. 做人要无需,做事要务实!
  8. 一步一步写算法(之链表排序)
  9. videojs暂停时显示大按钮_服务失败时进行故障恢复,Windows 7系统如何打开服务管理程序...
  10. BZOJ3994[SDOI2015] 约数个数和
  11. 《数据库系统基础教程》读书笔记——第一章 数据库系统世界
  12. 在vc中实现获取汉字拼音的首字母
  13. 世界上公认最快的学习法 - 弗曼学习法
  14. windows 上面git 克隆clone 的时候报错 warning:Clone succeeded,but checkout failed
  15. mysql hint 驱动_MySQL HINT:Straight_JOIN
  16. 今天520情人节,你确定不学一下「情话设计模式」?
  17. 【前端微服务化】使用飞冰搭建前端微服务化框架
  18. 十分钟文档化你的C++代码——DoxyGen
  19. Pyside2 学习系列三:PyInstaller打包项目瘦身(超详细的Pyside2 攻略)
  20. C++学习笔记(五)opencv在win下的使用 —参考浅墨opencv3编程入门

热门文章

  1. Camtasia 2023新功能添加了新的视觉效果、滤镜和其他重大改进
  2. 《俞军产品方法论》:一个产品学派的诞生
  3. MicroPython for DJYOS 介绍
  4. 百年理论预言被证实!《Nature》:我国科学家捕捉到水结冰的关键一瞬
  5. 求质因数只能是2,3,5,7的第n大个数(丑数求解)
  6. 华工计算机学院改分,教育部和华南理工大学通报违规更改研究生复试分数问题处理情况...
  7. 基于Android智能手机的微课程学习系统设计与实现 毕业设计源码100909
  8. 网御IDS DT 进程无法启动的问题解决
  9. linux自动挂载文件修复工具,Linux FSCK自动修复文件系统
  10. 服务器主机接显示器,服务器主机连接显示器