一个人的旅行

Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 5   Accepted Submission(s) : 2
Problem Description
虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^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个数,表示草儿想去地方。
 
#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
int INF = ;
int e[][];
int d[];
int a[];
int v[];
int t, s, dd;
int n = ;
void dijkstra()
{
int i,k,j;
for (i = ; i <= n; i++)
{
d[i] = e[][i];//d数组用来存储i点到0点的最短时间
}
for (i = ; i <=n-; i++)
{
int min = INF;
for (j = ; j <= n; j++)
{
if (v[j] == && d[j] < min)
{//跳出离0点最近的点并且曾经没被挑
min = d[j];
k = j;
}
}
v[k] = ;//标记已被挑过
for (j = ; j <= n; j++)
{
if (d[j] > d[k] + e[k][j])//利用k点对各个点松弛
{
d[j] = d[k] + e[k][j];
}
}
} }
int main()
{
int i, j, k, x, y;
while (cin >> t >> s >> dd)
{
memset(v, , sizeof(v));
for (i = ; i <= ; i++)
{
for (j = ; j <= ; j++)
{
if (i == j) e[i][j] = ;
else e[i][j] = INF;
}
}
d[] = ;
for (i = ; i <= t; i++)
{
cin >> x >> y >> k;
if (x > n) n = x;
if (y > n) n = y;
if (e[x][y] > k)//两城市之间可能有多班公交
{
e[x][y] = k;
e[y][x] = k;
}
}
for (i = ; i <= s; i++)
{
cin >> x;
d[x] = ;
e[][x] = ;
e[x][] = ;
}
for (i = ; i <= dd; i++)
{
cin >> a[i];//存放目的地
}
dijkstra();
int min = INF;
for (i = ; i <= dd; i++)
{//遍历每个目的地,挑出时间最短的
if (d[a[i]] < min)
min = d[a[i]];
}
cout << min << endl;
}
return ;
}
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

HDU 2066 一个人的旅行 (Dijkstra算法)的更多相关文章

  1. hdu 2066 一个人的旅行 Dijkstra

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2066 题意分析:以草儿家为原点,给出城市间相互抵达的时间,给出草儿想去的城市,求最短时间.典型的单源最 ...

  2. hdu 2066 一个人的旅行(dijkstra)

    一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  3. hdu 2066 一个人的旅行

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2066 一个人的旅行 Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷 ...

  4. hdu 2066 一个人的旅行 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2066 题目意思:给出T条路,和草儿家相邻的城市编号,以及草儿想去的地方的编号.问从草儿家到达草儿想去的 ...

  5. HDU - 2066 一个人的旅行(最短路径)(模板)

    d.每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有S个(草儿家到这个城市的距离设为0),草儿想去的地方有D个: 求D个城市中距离草儿家最近的距离. s.进行1次单源最短路,找出 ...

  6. 【hdu 2544最短路】【Dijkstra算法模板题】

    Dijkstra算法 分析 Dijkstra算法适用于边权为正的情况.它可用于计算正权图上的单源最短路( Single-Source Shortest Paths, SSSP) , 即从单个源点出发, ...

  7. HDU 2066 一个人的旅行(dijkstra水题+判重边)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2066 题目大意:输入数据有多组,每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有 ...

  8. HDU 2066 一个人的旅行【Dijkstra 】

    题意:给出s个起点,d个终点,问从这些起点到达终点的最短距离 因为有多个起点,所以把这多个起点的值设为0 哎= =改了好久的说= = 是因为在代码里面的t,不知道为什么调用dijkstra()函数之后 ...

  9. hdu - 2066 一个人的旅行(基础最短路)

    http://acm.hdu.edu.cn/showproblem.php?pid=2066 把与草儿相连的城市最短距离置为0,然后进行dijkstra,在t个城市里找出距离最近的一个即可. #inc ...

随机推荐

  1. U盘安装Ubuntu三步走

    需要工具: U盘.Ubuntu的ISO镜像.universal usb installer 1.下载Ubuntu (1) (2)我这里下载14.04版本 (3)我这里下载64位系统 下载后得到的是个t ...

  2. SimpleXML php 解析xml 的方法

    SimpleXML是PHP5后提供的一套简单易用的xml工具集,可以把xml转换成方便处理的对象,也可以组织生成xml数据.不过它不适用于包含namespace的xml,而且要保证xml格式完整(we ...

  3. 2015年蓝桥杯省赛B组第3题--三羊献瑞

    三羊献瑞 观察下面的加法算式: 祥 瑞 生 辉   +   三 羊 献 瑞 -------------------    三 羊 生 瑞 气 (如果有对齐问题,可以参看[图1.jpg]) 其中,相同的 ...

  4. DevExpress v17.2新版亮点—WinForms篇(四)

    用户界面套包DevExpress v17.2终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.开篇介绍了DevExpress WinForms v17.2 Data Grid Control ...

  5. 题目1003:A+B

    题目1003:A+B 时间限制:1 秒内存限制:32 兆 题目描述: 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开. 现在请计算A+B的结果,并以正常形式 ...

  6. HDU 3488

    http://acm.hdu.edu.cn/showproblem.php?pid=3488 原来写过的一道题,今天重新看费用流又做了一遍 题意:给一个图,求环的并(权值和最小) 思路:每个点只能走一 ...

  7. MP算法、OMP算法及其在人脸识别的应用

    主要内容: 1.MP算法 2.OMP算法 3.OMP算法的matlab实现 4.OMP在压缩感知和人脸识别的应用 一.MP(Matching Pursuits)与OMP(Orthogonal Matc ...

  8. 微信小程序开发过程中出现问题及解答

    1.wx.uploadFile上传图片,控制台抛出错误"uploadFile:fail Error:Hostname/IP doesn't match certificate's altna ...

  9. Maze dfs倒行

    Pavel loves grid mazes. A grid maze is an n × m rectangle maze where each cell is either empty, or i ...

  10. 【知识笔记】ASP.NET报错问题

    一.前端asp.net在远程部署到IIS时报错:Web 部署任务失败,在远程计算机上处理请求时出错 服务器在处理请求时遇到问题.请与服务器管理员联系以了解详细信息((2017/6/16 16:22:4 ...