一个人的旅行--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-7
练习1-7 编写一个打印EOF的值的程序. #include <stdio.h> // 包含标准库的信息. int main() // 定义名为main的函数,它不接受参数值. { // ...
- sql基础复习
--.while循环 declare @sum int declare @i int ) begin set @sum =@sum+@i ) print @i end print @sum --.go ...
- nodejs javascript微信开发
1.当从第三方软件需要分享到微信的时候 需要给授权处理才能获得微信信息 比如 nickname 等昵称图像等 从第三方登陆跳转到微信分享页需要 shareurl = http://open.weixi ...
- 网站卡死,照惯例运行.bat批量处理文件进行重启不起作用
网站卡死,照惯例运行.bat批量处理文件进行重启不起作用,进入虚拟机控制台进行虚拟机重启仍然不起作用,通过ping分析物理服务器能ping通,各个虚拟机之前也能ping通,但是不能ping通外部,分析 ...
- Blogger安装最新文章 - Blog透视镜
在Blogger中,是没有最新文章的网页元素,不过倒是有信息提供这个小工具,其实这就是用来新增RSS网摘用的,其中就包含最新文章的Feed,所以只要在小工具中,加入RSS网摘Feed,就可以安装最新文 ...
- hdu Fibonacci
#include <cstdio> #include <cstring> #include <cmath> #include <algorithm> u ...
- Android 最简单的SD卡文件遍历程序
package com.wenhao.test.sddemo; import java.io.File; import android.app.Activity; import android.os. ...
- leetcode_question_119 Pascal's Triangle II
Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3, Return [1,3 ...
- (转)iOS7界面设计规范(1) - UI基础 - 为iOS7而设计
今天开个新坑.其实老早就想做这事儿了.记得前一两年,苹果官方还会在开发者中心提供中文的HIG(Human Interface Guideline),后来给没了:网上能够找到的中文版本不知是官方还是同行 ...
- rac_进行grid自检时提示运行runfixup.sh脚本一例
原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明下面出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...