一个人的旅行--hdu2066
一个人的旅行
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 24646 Accepted Submission(s): 8529
接着有T行,每行有三个整数a,b,time,表示a,b城市之间的车程是time小时;(1=<(a,b)<=1000;a,b 之间可能有多条路)
接着的第T+1行有S个数,表示和草儿家相连的城市;
接着的第T+2行有D个数,表示草儿想去地方。
#include<cstdio>
#include<cstring>
#include<algorithm>
#define MAX 0x3f3f3f3f
using namespace std;
int map[][],d;
int de[],start[],target[];//开始定的数组小了就wa了
int dijkstra(int b)//先写一个模板地杰斯特拉
{
int min,i,j,mark,used[];
for(i=;i<=;i++)
{
used[i]=;
de[i]=map[b][i];
}
used[b]=;
de[b]=;
for(i=;i<=;i++)
{
min=MAX;
mark=-;
for(j=;j<=;j++)
{
if(!used[j]&&de[j]<min)
{
min=de[j];
mark=j;
}
}
if(mark==-)
break;
used[mark]=;
for(j=;j<=;j++)
{
if(!used[j]&&(de[j]>de[mark]+map[mark][j]))
de[j]=de[mark]+map[mark][j];
}
}
int we[],t=;
for(i=;i<d;i++)
we[i]=de[target[i]];
sort(we,we+d);
return we[];//返回的是到各个目的地的最小时间
}
int main()
{
int t,s,i,j,a,b,c;
while(scanf("%d%d%d",&t,&s,&d)!=EOF)
{
memset(map,MAX,sizeof(map));
for(i=;i<t;i++)
{
scanf("%d%d%d",&a,&b,&c);
if(a!=b&&map[a][b]>c)
map[a][b]=map[b][a]=c;//去重!!!
}
for(i=;i<s;i++)
scanf("%d",&start[i]);
for(i=;i<d;i++)
scanf("%d",&target[i]);
int min=MAX;
for(i=;i<s;i++)
min=min>dijkstra(start[i])?dijkstra(start[i]):min;//找出以各个起点为起点最小的时间!
printf("%d\n",min);
}
return ;
}
一个人的旅行--hdu2066的更多相关文章
- ACM-最短路之中的一个个人的旅行——hdu2066
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/lx417147512/article/details/27235809 ************** ...
- A过的题目
1.TreeMap和TreeSet类:A - Language of FatMouse ZOJ1109B - For Fans of Statistics URAL 1613 C - Hardwood ...
- hdu2066一个人的旅行(dijkstra)
Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰 ...
- HDU2066一个人的旅行/最短路问题
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- HDU2066:一个人的旅行(Dijkstra)
Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰 ...
- HDU2066 一个人的旅行 最短路基础
新手熟悉一下迪杰斯特拉... 一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- 一个人的旅行(hdu2066)Dijkstra算法模版
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- hdu2066一个人的旅行(floyd优化)
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- HDU2066一个人的旅行---(多起点多终点最短路径)
http://acm.hdu.edu.cn/showproblem.php?pid=2066 一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memo ...
随机推荐
- C程序设计语言练习题1-4
练习1-4 编写一个程序打印摄氏温度转换为相应华氏温度的转换表. 代码如下: #include <stdio.h> // 包含标准库的信息. int main() // 定义名为main的 ...
- 禁用与启用Button点击
//启用查询按钮 btnFpSelect.setClickable(true); //禁用查询按钮 btnFpSelect.setClickable(false);
- BZOJ2084: [Poi2010]Antisymmetry
2084: [Poi2010]Antisymmetry Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 187 Solved: 125[Submit] ...
- MVC4.0 上传Excel并存入数据库
这里的这个功能实现在WebForm很好实现,上传阶段简单的一个FileUoLoad控件就搞定了,什么取值,什么上传都是浮云,微软都帮我们封装好了,我们只需要一拖一拽就OK了,但这些在MVC中是不行的! ...
- C++指针的操作和运算(转)
既然指针是一种数据类型,那么它也应该有对应的操作或运算,正如整数能做加减乘除一样.但是每一种操作或运算都应该对这种数据类型有意义.比如两个实数可以用关系运算得知哪个大哪个小,而两个虚数却不能使用关系运 ...
- phpcms:二、头部尾部包含
1.index.html是默认的首页{template "content","header"}引入头部的模块{template "content&qu ...
- PyCharm常用设置
pycharm,优秀的python开发工具 本文介绍一点python开发工具,pycharm的使用方式. 内容仅仅为最常用的几点,想要了解更多,请自行谷歌. 1.常用工具栏 唤出常用工具栏,View ...
- python倒计时
#coding=utf-8 #!/usr/bin/env python import datetime,time i=3 while i==3: spring=datetime.datetime(20 ...
- [iOS]数据库第三方框架FMDB详细讲解
[iOS]数据库第三方框架FMDB详细讲解 初识FMDB iOS中原生的SQLite API在进行数据存储的时候,需要使用C语言中的函数,操作比较麻烦.于是,就出现了一系列将SQLite API进行封 ...
- JMeter脚本参数化和断言设置( CSV Data Set Config )
用Badboy录制了Jmeter的脚本,用Jmeter打开后形成了原始的脚本.但是在实际应用中,为了增强脚本的多样性,就要使脚本参数化.这里我以登录为例,参数化用户账号与用户密码. 图1 :原始脚本 ...