PTA: 哈利·波特的考试

2023-11-06 03:40
文章标签 考试 pta 哈利 波特

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

题目

输入样例:
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 <cstdio>
#include <algorithm>
#include <queue>
#include <cstring>
#include <climits>using namespace std;const int maxn = 105;
struct Edge{int to, next, w;
}edge[105*105];
int head[105*105];
int tot = -1;
void add(int u, int v, int w) {++tot;edge[tot].to = v;edge[tot].w = w;edge[tot].next = head[u];head[u] = tot;
}
bool vis[maxn];
int dis[maxn];
int n, m;typedef pair<int, int> PII;
bool operator<(const PII& a, const PII& b) {return a.second > b.second;
}
priority_queue<PII> que;
int dij(int s) {fill(dis, dis+n+1, INT_MAX);dis[s] = 0;que.push({s, 0});while(que.size()) {auto tmp = que.top(); que.pop();for(int i = head[tmp.first]; i != -1; i = edge[i].next) {if(dis[edge[i].to] > tmp.second+edge[i].w) {dis[edge[i].to] = tmp.second+edge[i].w;que.push({edge[i].to, dis[edge[i].to]});}}}int mx = -1;for(int i = 1; i <= n; ++i)mx = max(mx, dis[i]);return mx;
}
int main(void)
{freopen("in.txt", "r", stdin);memset(head, -1, sizeof(head));scanf("%d%d", &n, &m);int u, v, w;for(int i = 0; i < m; ++i) {scanf("%d%d%d", &u, &v, &w);add(u, v, w);add(v, u, w);}int ans, mxl = 0x3f3f3f3f;for(int i = 1; i <= n; ++i) {int x = dij(i);for(int k = 1; k <= n; ++k) {if(dis[k] == INT_MAX) {printf("0");exit(0);}}if(x < mxl) {mxl = x;ans = i;}if(x == mxl)ans = min(ans, i);}printf("%d %d", ans, mxl);return 0;
}

这篇关于PTA: 哈利·波特的考试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

PTA基础题考点汇总

一:字符串(数组)的逆序,栈的方法 **字符串数组的逆序 : ** 标准容器库的知识:定义stack容器于字符串:stackv; string s; //这里用到了c++中stl(标准容器库的知识)stack;//用的时候要声明头文件;定义stack容器和string;stack<string>v; string s;了解几个函数,v.top( );//让最后一个元素出栈;(v是定义的

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

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

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

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

计算机毕设JAVA——学习考试管理系统(基于SpringBoot+Vue前后端分离的项目)

学习考试管理系统 概要系统架构技术运行环境系统功能项目演示图片 概要 网络上许多计算机毕设项目开发前端界面设计复杂、不美观,而且功能结构十分单一,存在很多雷同的项目:页面基本上就是套用固定模板,换个颜色、改个文字,数据库改改数据这样(这个问题有在网络上搜过一些毕设项目的同学应该可以发现)因为这种只想着追求走量,往往忽略了毕设项目本身的质量。该项目是仿猫眼电影设计开发的,系统功能介

【免费】中国电子学会2024年03月份青少年软件编程Python等级考试试卷一级真题(含答案)

2024-03 Python一级真题 分数:100 题数:37 测试时长:60min 一、单选题(共25题,共50分) 1.  下列哪个命令,可以将2024转换成'2024' 呢?( A)(2分) A.str(2024) B.int(2024) C.float(2024) D.bool(2024) 答案解析:本题考察的是str() 语句,将数字转换成字符串用到的是str() 语

算法题--华为od机试考试(整数对最小和、素数之积、找城市)

目录 整数对最小和 题目描述 注意 输出描述 示例1 输入 输出 说明 解析 答案 素数之积 题目描述 输入描述 输出描述 示例1 输入 输出 说明 示例2 输入 输出 说明 解析 找城市 题目描述 输入 输出 示例1 输入 输出 示例2 输入 输出 说明 解析 答案 整数对最小和 考察排序,数组拍平 题目描述

Python二级考试试题

1. 关于数据的存储结构,以下选项描述正确的是 A 数据所占的存储空间量 B 数据在计算机中的顺序存储方式 C 数据的逻辑结构在计算机中的表示 D 存储在外存中的数据 正确答案: C  2. 关于线性链表的描述,以下选项中正确的是 A 存储空间不一定连续,且前件元素一定存储在后件元素的前面 B 存储空间必须连续,且前件元素一定存储在后件元素的前面 C 存储空间必

pta 计算全班学生C++课程的总成绩和平均成绩 C++

7-1 计算全班学生C++课程的总成绩和平均成绩 分数 10 全屏浏览 作者 杨雪华 单位 沈阳师范大学 定义一个类Student,记录学生C++课程的成绩。要求使用静态数据成员或静态成员函数计算全班学生C++课程的总成绩和平均成绩。 输入格式: 输入5个不超过100的正整数,作为C++成绩。 输出格式: 在第一行中输出成绩的和,第二行输出平均成绩。 输入样例: 90 8

2020C++等级考试二级真题题解

202012数组指定部分逆序重放c++   #include <iostream>using namespace std;int main() {int a[110];int n, k;cin >> n >> k;for (int i = 0; i < n; i++) {cin >> a[i];}for (int i = 0; i < k / 2; i++) {swap(a[i], a[k

PAT-L1-005. 考试座位号

L1-005. 考试座位号 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到