HDU2066:一个人的旅行
接着有T行,每行有三个整数a,b,time,表示a,b城市之间的车程是time小时;(1=<(a,b)<=1000;a,b 之间可能有多条路)
接着的第T+1行有S个数,表示和草儿家相连的城市;
接着的第T+2行有D个数,表示草儿想去地方。
#include<iostream>#include<queue>#include<cstdio>#include<cstring>#include <algorithm>using namespace std; const int INF=0x3f3f3f3f;const int N=1005;int n;int mp[N][N];int dp[N],vis[N]; void Dijkstra() //单源最短路{ int i,j; int x,t; memset(vis,0,sizeof(vis)); for (i=0;i<n;i++) dp[i]=mp[0][i]; vis[0]=1; for (i=0;i<n;i++) { t=INF; for (j=0;j<n;j++) if (!vis[j]&&dp[j]<t) x=j,t=dp[x]; if (t>=INF) break; vis[x]=1; for (j=0;j<n;j++) if (!vis[j]) dp[j]=min(dp[j],dp[x]+mp[j][x]); }} int main(){ int T,S,D; while (cin>>T>>S>>D) { int i,j; int u,v,w; int s,t; n=-1; for(i=0;i<N;i++) for(j=0;j<N;j++) mp[i][j]=(i==j?0:INF); memset(mp,INF,sizeof(mp)); for(i=0;i<T;i++) { scanf("%d%d%d",&u,&v,&w); n=max(n,max(u,v)); if(mp[u][v]>w) mp[u][v]=mp[v][u]=w; } n++; for (i=0;i<S;i++) { scanf("%d",&s); mp[0][s]=mp[s][0]=0; } Dijkstra(); int ans=INF; for (i=0;i<D;i++) //找出最小的费用即可 { scanf("%d",&t); ans=min(dp[t],ans); } printf("%d\n",ans); } return 0;}
HDU2066:一个人的旅行相关推荐
- HDU2066 一个人的旅行【最短路径+Floyd算法】
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- HDU-2066 一个人的旅行
HDU-2066 一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) P ...
- hdu2066一个人的旅行(disjkstra)
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- HDU2066一个人的旅行(SPFA)
问题描述 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗〜),但是草儿仍然很喜欢旅行,因为在旅途中会遇见很多人(白马王子, ^ 0 ^),很多事,还能丰富自己的阅历,还可以看美丽 ...
- hdu2066 一个人的旅行 floyd
Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰 ...
- HDU2066一个人的旅行---(多起点多终点最短路径)
http://acm.hdu.edu.cn/showproblem.php?pid=2066 一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memo ...
- 【算法】最短路径--Hdu2066 一个人的旅行
一个人的旅行 Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^), ...
- HDU-2066 一个人的旅行(dijkstra)
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- HDU2066 一个人的旅行
Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰 ...
- hdu2066——一个人的旅行
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
最新文章
- 怎么样清除bitcoin-qt的交易记录
- Exchange与ADFS单点登录 PART 5:添加ADFS信赖方信任
- 遇到这样的程序员,你怎么办?
- 前后数据交互(ajax) -- 初始化页面表格
- PTA22、最小乘积(基本型) (10 分)
- mysql私房菜_老男孩MySQL私房菜深入浅出精品视频第7章备份与恢复基础实践视频课程...
- 反思 大班 快乐的机器人_幼儿园大班健康教案《有趣的椅子》含反思
- 什么软件可以测试小米四进水没有声音,小米5手机进水不用怕!牢记4个步骤救活手机...
- Php依赖其他模块,3. 强制模块依赖
- .netcore 2.0 mysql_MySQL数据库之.Net Core 2.0 使用EF连接MySQL数据库
- 机顶盒天线接头怎么接_户户通天线怎么安装图解
- android手机给iphone越狱,在越狱的iPhone上安装Android 2.2教程
- 【转】一文带你了解800万像素车载摄像头
- YOLOV3预选框验证
- 一部分使用CNES后处理BIA产品的PPP-AR结果
- 很牛的几篇圈内爆料——影视圈
- Objective-C中的instancetype和id区别
- poj3046 Ant Counting
- 通过炒股实现财务自由的人,都做对了什么?
- python去重、根据某列统计另一列频数