7-10 哈利·波特的考试

哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是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
代码长度限制                                            16 KB时间限制                                               400 ms内存限制                                              64 MB

这道题图嘛,图的最短路径问题,两种算法:Dijkstra(迪杰斯特拉)算法Floyd(弗洛伊德)算法,前者求解指定两结点间最短路径,后者求解任意两结点间最短路径,显然,这道题就是后者了,其实核心就是一个三重循环,具体算法学习的话推荐书籍大话数据结构,这里之间上代码(C++)了

#include<bits/stdc++.h>
#define M 105
using namespace std;int inf = 1000000;
int n, m;
int d[M][M];int main()
{cin >> n >> m;for(int i = 0; i <= n; i++)     /// 邻接矩阵初始化{for(int j = 0; j <= n; j++){if(i == j)d[i][j] = 0;elsed[i][j] = inf;}}for(int i = 0; i < m; i++)      /// 赋两个结点间的权值(魔咒的长度){int a, b, w;cin >> a >> b >> w;d[a][b] = d[b][a] = w;}for(int k = 1; k <= n; k++)     /// Floyd(弗洛伊德)算法{for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++){if(d[i][j] > d[i][k] + d[k][j])d[i][j] = d[i][k] + d[k][j];}}}int minn = inf, maxx, index = 0;for(int i = 1; i <= n; i++){maxx = 0;for(int j = 1; j <= n; j++)     /// 找出i结点到各个结点最大的权{if(maxx < d[i][j])maxx = d[i][j];}if(maxx < minn){minn = maxx;index = i;}}if(index == 0)cout << 0 << endl;elsecout << index << " " << minn << endl;return 0;
}

7-10 哈利·波特的考试相关推荐

  1. pta 哈利·波特的考试

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

  2. 【floyd模板】哈利·波特的考试 (25 分)

    立志用最少的代码做最高效的表达 哈利·波特要考试了,他需要你的帮助.这门课学的是用魔咒将一种动物变成另一种动物的本事.例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等.反方向变化的魔 ...

  3. 7-8 哈利·波特的考试 (25 分)(详解+思路分析)真香啊

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

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

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

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

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

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

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

  7. 数据结构与算法A实验六图论---7-2 哈利·波特的考试(Flody算法)

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

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

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

  9. 7-8 哈利·波特的考试

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

  10. 7-8 哈利·波特的考试 (25 分)

    7-8 哈利·波特的考试 (25 分) 看懂题,比较简单. 用Floyd算法. 1.首先将数据读入,用来初始化图 2.用Floyd得到最短路径(各点到各点的全部最短路径). 3.先求出每个点到其它点的 ...

最新文章

  1. 一切都是问题,一切都着落在自身
  2. python图例重复显示_matplotlib中的legend()——用于显示图例
  3. 关于flink的setCommitOffsetsOnCheckpoints
  4. 备份数据 宝塔linux_宝塔面板旧版本升级教程汇总—升级宝塔面板
  5. “Shopee杯” e起来编程暨武汉大学2020年大学生程序设计大赛决赛(重现赛)
  6. Struts1和Struts2的区别和对比(完整版)(转)
  7. ddr老化测试_塑胶类材料老化测试(Aging Test )常用的测试标准
  8. 《Google软件测试之道》告诉你什么是测试
  9. 20200102每日一句
  10. 分享个最终幻想勇气启示录脚本,手游上能一键推图自动升级
  11. 计算机配置windows设置脚本,如何设置脚本操作
  12. omnet++ tictoc2 实例分析
  13. 质因数分解-P1069 [NOIP2009 普及组] 细胞分裂
  14. 做潮人,还是outman?
  15. 谁为乔布斯写下「致敬疯子」的广告词
  16. POJ 有关动态规划的题目
  17. 比亚迪--一文看懂--家用新能源汽车产品线
  18. 能够切换用户重新登录计算机,苹果电脑切换用户登录_苹果电脑切换登录账号...
  19. android实现发送短信的功能
  20. 微软工业计算机主机怎么样,炸裂!设计师们,微软喊你们换电脑了

热门文章

  1. Hi,欢迎大家来到阿毛小猪的博客,分享自己学习中的经验,默默的前行,聆听心的声音...
  2. Could not open client transport with JDBC Uri: jdbc:hive2://slaver2:10000: java.net.ConnectException
  3. 微信小程序真机提示error occurs:ENOENT: no such file or directory, access
  4. 管道的故事(一)管道的故事
  5. 《后端成长路线》系列 导航篇
  6. MyBatis学习笔记三——映射配置文件
  7. 迷你西游最新服务器是哪个,《迷你西游》新开服务器公告
  8. Android 编译速度优化方案
  9. linux 网络配置 nm_controlled,LINUX centos7.6修改静态IP与配置参数NM_CONTROLLED
  10. 自动驾驶基础知识(二)——术语中英文对照