一个人的旅行 (SDUT 2017级 暑期个人专题测试赛4(最短路下半场))
虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还可以看美丽的风景……草儿想去很多地方,她想要去东京铁塔看夜景,去威尼斯看电影,去阳明山上看海芋,去纽约纯粹看雪景,去巴黎喝咖啡写信,去北京探望孟姜女……眼看寒假就快到了,这么一大段时间,可不能浪费啊,一定要给自己好好的放个假,可是也不能荒废了训练啊,所以草儿决定在要在最短的时间去一个自己想去的地方!因为草儿的家在一个小镇上,没有火车经过,所以她只能去邻近的城市坐火车(好可怜啊~)。
Input
输入数据有多组,每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有S个,草儿想去的地方有D个;
接着有T行,每行有三个整数a,b,time,表示a,b城市之间的车程是time小时;(1=<(a,b)<=1000;a,b 之间可能有多条路)
接着的第T+1行有S个数,表示和草儿家相连的城市;
接着的第T+2行有D个数,表示草儿想去地方。
Output
输出草儿能去某个喜欢的城市的最短时间。
Sample Input
6 2 3
1 3 5
1 4 7
2 8 12
3 8 4
4 9 12
9 10 2
1 2
8 9 10
Sample Output
9
#include <iostream>
#include<stdio.h>
#include<stdlib.h>
#include<queue>
#include<vector>
#include<algorithm>
#include<string.h>
using namespace std;
const int N=1011;
const int inf=0x3f3f3f;
int n=N;
struct st
{int y,time;st(int y,int time):y(y),time(time) {}
};
vector<st>g[N];
int v[N];
void spfa(int s)
{queue<int>Q;Q.push(s);while(Q.size()){s=Q.front();Q.pop();int len=g[s].size();for(int i=0; i<len; i++){st q=g[s][i];if(v[q.y]>v[s]+q.time){v[q.y]=v[s]+q.time;Q.push(q.y);}}}
}
int main()
{int T,S,D;while(scanf("%d%d%d",&T,&S,&D)!=EOF){for(int i=1; i<=n; i++){v[i]=inf;g[i].clear();}for(int i=1; i<=T; i++){int a,b,c;scanf("%d%d%d",&a,&b,&c);g[a].push_back(st(b,c));g[b].push_back(st(a,c));}int k[N],m[N];for(int i=1; i<=S; i++)scanf("%d",&k[i]);for(int i=1; i<=D; i++)scanf("%d",&m[i]);int ans=inf,l,x;for(int i=1; i<=S; i++){l=k[i];v[l]=0;spfa(l);for(int j=1; j<=D; j++){x=m[j];ans=min(ans,v[x]);}}printf("%d\n",ans);}return 0;
}
一个人的旅行 (SDUT 2017级 暑期个人专题测试赛4(最短路下半场))相关推荐
- 2017年寒假集训分组测试赛2 Ranklist
初级二十四点游戏 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 受李老师的影响,他4岁的孩 ...
- 衡阳技师学校计算机系,2017级计科师范专业到衡阳技师学院见习
2019年10月21日,由指导老师郑光勇.李康满带领的2017级计科师范专业同学组成的见习团,前往衡阳技师学院进行见习活动. 顺利抵达目的地后,首先召开了见习工作会议.本次会议由衡阳技师学院信息与生物 ...
- 中大计算机研究生英语免修条件,通知|关于接受2017级理科研究生 基础英语课程免修免考申请的通知...
原标题:通知|关于接受2017级理科研究生 基础英语课程免修免考申请的通知 各院系: 根据<中山大学文理科研究生公共课管理办法>的规定,对第一外国语水平较高的研究生,可申请在读期间免修免考 ...
- 2017计算机基础教学大纲,2017级大学计算机基础教学大纲设计.doc
实用文档 文案大全 <大学计算机基础>课程教学大纲 一.课程简况 (一)课程代码:6131101 (二)课程英文名:Basis Theory of Computer (三)课程管理院.系( ...
- 2017级软件2班安卓应用开发课程主页
前言 2017级安卓应用开发课程的教学工作,继续使用蓝墨云班课作为主要教学平台,而在这个课程主页中,主要为课后的实践服务.提供每一周课程内容对应的源代码,课后的实践方案.参考解答等材料,为同学有效学习 ...
- 关于举办2017年暑期全国高校教师 “Python编程及应用”培训班通知
全国各高等院校计算机.软件等相关院(系): Python是一门免费.开源的跨平台高级动态编程语言,支持命令式编程.函数式编程,拥有大量功能强大的内置对象.标准库和涉及各行业领域的扩展库,使得各领域的工 ...
- 2017计算机基础教学大纲,2017级大学计算机基础教学大纲
2017级大学计算机基础教学大纲 (12页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 <大学计算机基础>课程教学大纲一.课 ...
- 线性判别用于提取词向量_历年试题公开 | 2017级线性代数(I)期末试题
为了帮助同学们更好地学习,理学院微信公众号收集了部分大学数学.大学物理公共课程试题及参考解答择期进行发布(试题和解答不同期发布),建议同学们自己动手做做帮助巩固所学知识,之后可参见后期给出的参考解答! ...
- 武 学院2017级计算机专业,关注 | 计算机学院2017级新生见面会暨军训动员会顺利举行...
原标题:关注 | 计算机学院2017级新生见面会暨军训动员会顺利举行 计算机学院记者团讯(通讯员 林雅南 编辑 要娅楠)9月1日晚7点,计算机学院2017级新生见面会暨军训动员会在大学生活动中心5楼举 ...
最新文章
- 三年 Git 使用心得 常见问题整理
- 他们隔空协作,打造出懂医学、知开源的智能机器人
- JS 之 innerHTML
- 调度流程图_Flink 实现Locality 模式调度
- 向Ubuntu提供反馈的5种方法
- serviceloader java_【java编程】ServiceLoader使用看这一篇就够了
- 运维工程师绩效考核表_IT运维存在问题及改进
- MySQL之逻辑架构和存储引擎
- CSU 1116 Kingdoms
- 云+AI+5G时代,华为云已准备好多元化云服务架构
- centos8平台用NetworkManager/nmcli管理网络
- Warning:Null pointer access: The variable addStrings can only be null at this location
- jdbc执行多条sql_JDBC相关知识总结
- 情人节送男生什么礼物好,情人节送礼清单
- win10显示rpc服务器不可用,多种方法解决Win10专业版RPC服务器不可用的方法
- 孙德顺敛财10亿,看图挖掘计算如何穿透与识别多层嵌套影子公司!
- 网络公益信息特征和用户行为规律研究以微博为例
- 如何使用计算机中的导出,微信里的文件导入电脑(如何用数据线导出微信文件)...
- Python:实现doomsday末日算法(附完整源码)
- android仿支付宝弹窗,实现支付宝支付从底部弹窗效果