hdoj2066一个人的旅行

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 24946    Accepted Submission(s): 8675

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个数,表示草儿想去地方。

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<stdio.h>
#include<string.h>
#include<queue>
using namespace std;
struct stu{
	int one,two,val,next;
};
stu edge[300000];
int N,M,d,f,D;
int head[300000],t,vid[3000],dist[3000],x[10000],y[10000];//刚开始没这么么大
void spfa(int s)
{
     queue<int> Q;
	 memset(dist,0x3f3f3f,sizeof(dist));
	 memset(vid,0,sizeof(vid));
	 Q.push(s);
	 dist[s]=0;
	 vid[s]=1;
	 while(!Q.empty())
	 {
	   int	u=Q.front();
	 	Q.pop();
	 	vid[u]=0;
	 	for(int i=head[u];i!=-1;i=edge[i].next)
	 	{
	 		int v=edge[i].two;
	 		if(dist[v]>dist[u]+edge[i].val)
	 		{
	 			dist[v]=dist[u]+edge[i].val;
	 			if(!vid[v])
	 			{
				 	vid[v]=1;
	 				Q.push(v);
	 			}
	 		}
	 	}
	 }
}
void get(int a,int b,int c)
{
	stu E={a,b,c,head[a]};
	edge[t]=E;
	head[a]=t++;
}
int main()
{
	while(scanf("%d%d%d",&N,&M,&D)!=EOF)
	{
		t=0;
		memset(head,-1,sizeof(head));
		int a,b,c;
		while(N--)
		{
			scanf("%d%d%d",&a,&b,&c);
			get(a,b,c),get(b,a,c);
		}
		int g,min=1000000000;
		for(int i=0;i<M;i++)
			scanf("%d",&x[i]);
		for(int i=0;i<D;i++)
		scanf("%d",&y[i]);
		for(int i=0;i<M;i++)
		for(int j=0;j<D;j++)
		{
			spfa(x[i]);
			if(dist[y[j]]<min)
			min=dist[y[j]];
		}
		printf("%d\n",min);
	}
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-01 06:49:29

hdoj2066一个人的旅行的相关文章

[HDOJ2066]一个人的旅行

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2066 一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 25398    Accepted Submission(s): 8812 Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷

floyd算法--一个人的旅行

2017-07-27 22:37:32 writer:pprp 题目如下: 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历, 还可以看美丽的风景--草儿想去很多地方,她想要去东京铁塔看夜景,去威尼斯看电影,去阳明山上看海芋,去纽约纯粹看雪景,去巴黎喝咖啡写信, 去北京探望孟姜女--眼看寒假就快到了,这么一大段时间,可不能浪费啊,一定要给自己好好的放个假,可是也不能荒废了训

[BZOJ2388]旅行规划

试题描述 OIVillage是一个风景秀美的乡村,为了更好的利用当地的旅游资源,吸引游客,推动经济发展,xkszltl决定修建了一条铁路将当地n个最著名的经典连接起来,让游客可以通过火车从铁路起点(1号景点)出发,依次游览每个景区.为了更好的评价这条铁路,xkszltl为每一个景区都哦赋予了一个美观度,而一条旅行路径的价值就是它所经过的景区的美观度之和.不过,随着天气与季节的变化,某些景点的美观度也会发生变化. xkszltl希望为每位旅客提供最佳的旅行指导,但是由于游客的时间有限,不一定能游览

HDU2066 一个人的旅行【Dijkstra】

一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 20569    Accepted Submission(s): 7191 Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰

HEOI 2012 旅行问题

2746: [HEOI2012]旅行问题 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 1009  Solved: 318[Submit][Status][Discuss] Description yz是Z国的领导人,他规定每个地区的名字只能为26个小写拉丁字母的一个.由于地 区数有可能超过26个,便产生了一个问题,如何辨别名字相同的地区?于是yz规定,一个 地区的描述必须包含它的所有上级,且上级按次序排列.于是,一个地区的描述是一个字符 串.比

1267 老鼠的旅行

1267 老鼠的旅行 2012年CCC加拿大高中生信息学奥赛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description You are a mouse that lives in a cage in a large laboratory. 你是一只生活在笼子里的实验室老鼠. The laboratory is composed of one rectangular grid of square cages, with a total

萌新的旅行-

Description zstu的萌新们准备去自助旅行,他们租了一辆吉普车,然后选择了n个城市作为游览地点.然后他们惊喜的发现他们选择的城市刚好绕城一个环. 也就是说如果给所有城市按照0,1,2,--,n-1编号,0号城市和n-1号城市是相邻的,并且只能从i号城市去(i+1)%n号城市. 已知每个城市可以充油gas(i),从 i 到 (i+1)%n 城市耗油 cost(i). 假设这辆吉普车没有的油箱一开始是空的,并且没有上限. 没有油的话自然就不能继续旅行了,这个问题让萌新们非常困扰.作为优秀

xth的旅行(codevs 1450)

题目描述 Description 毕业了,Xth很高兴,因为他要和他的 rabbit 去双人旅行了.他们来到了水城威尼斯.众所周知(⊙﹏⊙b汗),这里的水路交通很发达,所以 xth 和 rabbit 只好坐船穿梭于各个景点之间.但是要知道,rabbit 是会晕船的,看到她难受,xth 是会心疼的.已知城市中有n个景点,这些景点之间有m条双向水路,在每条水路上航行时rabbit 都会有一个"晕船值".旅行时,xth 会带着 rabbit 尽量选择晕船值小的路线旅行.但是 rabbit 也

HDU 2066 一个人的旅行

一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 27564    Accepted Submission(s): 9564 Problem Description 虽 然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰