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

2023-12-09 12:08
文章标签 25 考试 07 哈利 波特

本文主要是介绍07-图4 哈利·波特的考试 (25分),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是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<iostream>
using namespace std;typedef struct MNode* MGraph;
struct MNode {int Vertex[110][110];int Vn;
};MGraph Create(int N,int V) {MGraph Graph=(MGraph)malloc(sizeof(struct MNode));Graph->Vn=N;for(int i=1; i<=N; i++)for(int j=1; j<=N; j++)Graph->Vertex[i][j]=65535;int v,w,weight;for(int i=0; i<V; i++) {cin>>v>>w>>weight;Graph->Vertex[v][w]=weight;Graph->Vertex[w][v]=weight;}return Graph;
}bool Floyd(MGraph Graph,int D[110][110],int path[110][110]) {int i,k,j;for(i=1; i<=Graph->Vn; i++)for(j=1; j<=Graph->Vn; j++) {D[i][j]=Graph->Vertex[i][j];path[i][j]=-1;}for(k=1; k<=Graph->Vn; k++)for(i=1; i<=Graph->Vn; i++)for(j=1; j<=Graph->Vn; j++) {if(i!=j&&D[i][k]+D[k][j]<D[i][j]) {D[i][j]=D[i][k]+D[k][j];if(i==j&&D[i][j]<0)return false;path[i][j]=k;}}return true;}
int main() {int N,V,w,max,min=65536,flag=0;cin>>N>>V;MGraph Graph=Create(N,V);int D[110][110],path[110][110];if(Floyd(Graph,D,path)) { for(int i=2;i<=Graph->Vn;i++){if(D[1][i]==65535){flag=1;break;}}if(!flag){for(int i=1; i<=Graph->Vn; i++) {max=0;for(int j=1; j<=Graph->Vn; j++) {if(D[i][j]!=65535&&D[i][j]>max) {max=D[i][j];}}if(max<min){min=max;w=i;}}printf("%d %d",w,min);}else{printf("0");}}}
#include<bits/stdc++.h>
using namespace std;
#define INF 65535
int N, M, G[105][105], D[105][105];int main() {cin >> N >> M;int v, u, w;fill(G[0], G[0] + 105 * 105, INF);fill(D[0], D[0] + 105 * 105, INF);for (int i = 0; i < M; i++) {cin >> v >> u >> w;G[v][u] = G[u][v] = w;D[v][u] = D[u][v] = w;}for (int i = 1; i <= N; i++)for (int j = 1; j <= N; j++)for (int k = 1; k <= N; k++) {if (j != k && D[j][i] + D[i][k] < D[j][k]) {D[j][k] = D[j][i] + D[i][k];}}int V = -1, Min = INF, flag = 0;for (int i = 1; i <= N; i++) {int max = 0;for (int j = 1; j <= N; j++) {if (D[i][j] != INF && D[i][j] > max) {max = D[i][j];} else if (D[i][j] == INF && i != j)  flag = 1; // 出现只带一只动物无法解决的情况}if (flag) break;if (max != 0 && max < Min) {Min = max;V = i;}}if (flag) cout << "0";else cout << V << " " << Min;return 0;
}

这篇关于07-图4 哈利·波特的考试 (25分)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/473703

相关文章

PS系统教程25

介绍软件 BR(bridge) PS 配套软件,方便素材整理、管理素材 作用:起到桥梁作用 注意:PS和BR尽量保持版本一致 下载和安装可通过CSDN社区搜索,有免费安装指导。 安装之后,我们打开照片只需双击照片,就自动在Ps软件中打开。 前提:电脑上有PS软件 三种预览格式 全屏预览 评星级 直接按数字键就可以 方向键可以更换图片 esc退出 幻灯片放

【教师资格证考试综合素质——法律专项】学生伤害事故处理办法以及未成人犯罪法笔记相关练习题

目录 《学生伤害事故处理办法》 第一章 总 则 第二章 事故与责任 (谁有错,谁担责) 第三章  事故处理程序 第四章 事故损害的赔偿 第五章 事故责任者的处理 第六章 附 则 《中华人民共和国预防未成人犯罪法》 第一章 总 则 第二章 预防犯罪的教育 第三章 对不良行为的干预 第四章 对严重不良行为的矫治 第五章 对重新犯罪的预防 第六章法律责任 第七章 附 则

【团队成长】2024-25周周报-业务介绍内容创作

大家好!我们是IndustryOR 团队,致力于分享业界落地的算法技术。欢迎关注微信公众号/知乎/CSDN【运筹匠心】 。 记录人:张哲铭,某互联网大厂算法专家 【团队成长/个人成长】系列的推文会以 【工作周报】 的方式记录IndustryOR团队及其成员的成长过程,请大家一起见证和参与我们团队从0-1-N的发展过程。 记录人顺序:张哲铭-向杜兵-高欣甜-黄世鸿-许佳鸣

昇思25天学习打卡营第5天|网络构建

一、简介: 神经网络模型是由神经网络层和Tensor操作构成的,mindspore.nn提供了常见神经网络层的实现,在MindSpore中,Cell类是构建所有网络的基类(这个类和pytorch中的modul类是一样的作用),也是网络的基本单元。一个神经网络模型表示为一个Cell,它由不同的子Cell构成。使用这样的嵌套结构,可以简单地使用面向对象编程的思维,对神经网络结构进行构建和管理。

编程精粹—— Microsoft 编写优质无错 C 程序秘诀 07:编码中的假象

这是一本老书,作者 Steve Maguire 在微软工作期间写了这本书,英文版于 1993 年发布。2013 年推出了 20 周年纪念第二版。我们看到的标题是中译版名字,英文版的名字是《Writing Clean Code ─── Microsoft’s Techniques for Developing》,这本书主要讨论如何编写健壮、高质量的代码。作者在书中分享了许多实际编程的技巧和经验,旨在

昇思25天学习打卡营第5天 | 网络构建

内容介绍:神经网络模型是由神经网络层和Tensor操作构成的,mindspore.nn提供了常见神经网络层的实现,在MindSpore中,Cell类是构建所有网络的基类,也是网络的基本单元。一个神经网络模型表示为一个`Cell`,它由不同的子`Cell`构成。使用这样的嵌套结构,可以简单地使用面向对象编程的思维,对神经网络结构进行构建和管理。 具体内容: 1. 导包 import minds

2024年【N1叉车司机】考试及N1叉车司机考试题库

题库来源:安全生产模拟考试一点通公众号小程序 N1叉车司机考试是安全生产模拟考试一点通总题库中生成的一套N1叉车司机考试题库,安全生产模拟考试一点通上N1叉车司机作业手机同步练习。2024年【N1叉车司机】考试及N1叉车司机考试题库 1、【多选题】《中华人民共和国特种设备安全法》第十四条规定,特种设备()、检测人员和()应当按照国家有关规定取得相应资格,方可从事相关工作。(  AB

Linux下Tomcat开机自动启动 原创 2014年07月18日 12:32:49 标签:Linux /tomcat /shell /启动 22095 Linux下tomcat开机自动启动有两种方法

Linux下Tomcat开机自动启动 原创  2014年07月18日 12:32:49 标签:Linux /tomcat /shell /启动 22095 Linux下tomcat开机自动启动有两种方法,一种是简单,一种是复杂而又专业的,使用shell脚本要实现,我们一般推荐shell脚本启动方式。下面我们分别介绍这两种方法。 1.shell脚本启动 众所周知,在L

昇思25天学习打卡营第4天 | 数据变换

内容介绍:通常情况下,直接加载的原始数据并不能直接送入神经网络进行训练,此时我们需要对其进行数据预处理。MindSpore提供不同种类的数据变换(Transforms),配合数据处理Pipeline来实现数据预处理。所有的Transforms均可通过`map`方法传入,实现对指定数据列的处理。 具体内容: 1. 导包 import numpy as npfrom PIL import Im

全网最全!25届最近5年上海理工大学自动化考研院校分析

上海理工大学 目录 一、学校+学院+专业简介 二、考试科目+指定教材 三、近5年考研分数情况 四、近5年招生录取情况 五、最新一年分数段图表 六、历年真题PDF 七、初试大纲+复试大纲 八、学费&奖学金&就业方向 一、学校+学院+专业简介 二、考试科目+指定教材 1、考试科目介绍 2、指定教材介绍 三、近5年考研分数情况