1003 Emergency (25 分)【难度: 中等 / 知识点: 变种的Dijkstra】
https://pintia.cn/problem-sets/994805342720868352/problems/994805523835109376
#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10;
int dist[N],cnt[N],sum[N],st[N],n,m;
int g[N][N],w[N],startx,endx;
// cnt[j] 存的是j到起点的最短路的数量。
// sum[j] 存的是j到起点的最短路上最大的人数
void Dijkstra()
{memset(dist,0x3f,sizeof dist);dist[startx]=0,cnt[startx]=1,sum[startx]=w[startx];for(int i=0;i<n;i++){int t=-1;for(int j=0;j<n;j++) if(!st[j]&&(t==-1|| dist[j]<dist[t])) t=j;st[t]=1;for(int j=0;j<n;j++){if(dist[j]>dist[t]+g[t][j]){dist[j]=dist[t]+g[t][j];cnt[j]=cnt[t];sum[j]=sum[t]+w[j];}else if(dist[j]==dist[t]+g[t][j])//相等了{cnt[j]+=cnt[t];sum[j]=max(sum[j],sum[t]+w[j]);}}}
}
int main(void)
{memset(g,0x3f,sizeof g);cin>>n>>m>>startx>>endx;for(int i=0;i<n;i++) cin>>w[i];while(m--){int a,b,c; cin>>a>>b>>c;g[a][b]=g[b][a]=min(g[a][b],c);}Dijkstra();cout<<cnt[endx]<<" "<<sum[endx]<<endl;return 0;
}
1003 Emergency (25 分)【难度: 中等 / 知识点: 变种的Dijkstra】相关推荐
- 1003 Emergency (25 分)
1003 Emergency (25 分) 题目大意 n个城市m条路,每个城市有救援小组,所有的边的边权已知.给定起点和终点,求从起点到终点的最短路径条数以及最短路径上的救援小组数目之和.如果有多条就 ...
- 1003 Emergency (25 分)【Dijastra与DFS解法】
立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 As an emergency rescue team leader of a city, you are given a spe ...
- 【PAT甲级A1003 】Emergency (25分)(c++)
1003 Emergency (25分) 作者:CHEN, Yue 单位:浙江大学 代码长度限制:16 KB 时间限制:400 ms 内存限制:64 MB As an emergency rescue ...
- 【PAT - 甲级1003】Emergency (25分)(Dijkstra,最短路条数,双权值最短路)
题干: As an emergency rescue team leader of a city, you are given a special map of your country. The m ...
- 1003. Emergency (25)
题目链接:https://www.patest.cn/contests/pat-a-practise/1003 题意:n个城市构成一个地图,某些城市之间有使之相连的道路,每个城市都有一定的救援队,问从 ...
- 1066 Root of AVL Tree (25 分)【难 / 知识点: 平衡树 未完成】
https://pintia.cn/problem-sets/994805342720868352/problems/994805404939173888 平衡树之前学过,不过有忘完了,有时间补吧
- PAT甲级1003 Emergency Dijkstra算法(堆优化版/朴素版)
前言 最近花了很多的时间在写JAVA项目上面,疏忽了算法和数据结构的学习.最近突然醒悟基础更为重要,打算从今天开始每天抽出一些时间做下PAT甲级的题目.现有题库的前两题很简单,从第三题开始吧. 题 ...
- 7-3 旅游规划 (25 分)(C语言实现)
有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路费.现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径.如果有若干条路径都是最短的,那么需要输出最便 ...
- PAT(甲级) 1003. Emergency
1003 . Emergency (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue As an emer ...
最新文章
- Mybait缓存机制
- DL之CNN:基于CRNN_OCR算法(keras,CNN+RNN)利用数据集(torch,mdb格式)训练来实现新图片上不定长度字符串进行识别—训练过程
- Java小游戏 —— 德州扑克
- c#开发中遇到System.AccessViolationException
- php透明颜色的代码,PHP imagecolorallocatealpha - 为一幅图像分配颜色和透明度
- [转]网易云音乐Android版使用的开源组件
- 【c++】笔记:输入带空格的字符串
- 面试常被问的65个问题及回答技巧(请收藏)
- 博途wincc 与 sql 连接操作(博途V14 wincc advanced)
- android: unexpected end of stream
- Cesium 获取经纬度的几种方法
- java zhs16gbk_oracle 修改字符集 为ZHS16GBK
- YarnAllocator:Container killed by YARN for exceeding memory limits. spark.yarn.executor.memoryOverhe
- 微信小程序阅读器功能
- 网站系统开发公司分析
- 怎么查看电脑是多少位的
- 如何打造一款直播App(方法流程)
- SQL Server 2005 还原数据库错误:System.Data.SqlClient.SqlError: 在对 'd:\Program Files\Microsoft SQL Serv
- 12款适合小团队协作、任务管理和进度跟踪的在线任务管理的工具推荐?
- 解决部分ie 11登录不上的问题
热门文章
- javascript对时间的处理
- 关于Python课程
- C# 中的三个高级参数 params
- HDU 3342 Legal or Not(拓扑排序判断成环)
- 利用GDataXML解析XML文件
- Divide and conquer:K Best(POJ 3111)
- [BTS] Could not find stored procedure 'mp_sap_check_tid'
- castle 组件化开发应用配制示例
- [Oracle] 数据排重
- 完美解决LINK : fatal error LNK1104: cannot open file Debug/xx.exe的问题