杭电 2544 最短路

http://acm.hdu.edu.cn/showproblem.php?pid=2544

最短路

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

Total Submission(s): 30857    Accepted Submission(s): 13293

Problem Description

在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?

Input

输入包括多组数据。每组数据第一行是两个整数N、M(N<=100,M<=10000),N表示成都的大街上有几个路口,标号为1的路口是商店所在地,标号为N的路口是赛场所在地,M则表示在成都有几条路。N=M=0表示输入结束。接下来M行,每行包括3个整数A,B,C(1<=A,B<=N,1<=C<=1000),表示在路口A与路口B之间有一条路,我们的工作人员需要C分钟的时间走过这条路。

输入保证至少存在1条商店到赛场的路线。

Output

对于每组输入,输出一行,表示工作人员从商店走到赛场的最短时间

Sample Input

2 1
1 2 3
3 3
1 2 5
2 3 5
3 1 2
0 0
 

Sample Output

3
2

AC代码:

<span style="font-size:24px;">#include<iostream>
#include<cstring>
using namespace std;  

#define INF 0x3f3f3f;
int map[110][110],d[110],v[110];  

void Dijkstra(int n)
{
	int i,p,j,min;
	for (i=1;i<=n;i++)
	{
		d[i]=map[1][i];
		v[i]=0;
	}
	v[1]=1;
	for (i=1;i<=n;i++)
	{
		min=INF;
		for (j=1;j<=n;j++)
		{
			if(!v[j] && d[j]<min)
			{
				p=j;
				min=d[j];
			}
		}
		v[p]=1;
		for (j=1;j<=n;j++)
		{
			if(!v[j] && d[p]+map[p][j]<d[j])
			{
				d[j]=d[p]+map[p][j];
			}
		}
	}  

}  

int main()
{
	int n,m,i,j,a,b,t;
	while(cin>>n>>m,n+m)
	{
		for (i=1;i<=n;i++)
			for (j=1;j<=n;j++)
				map[i][j]=INF;   

            for(i=1;i<=m;i++)
            {
                cin>>a>>b>>t;
                map[a][b]=map[b][a]=t;
            }  

            Dijkstra(n);
            printf("%d\n",d[n]);
	}
	return 0;
}  </span><span style="font-size:18px;">
</span>

杭电 2544 最短路,布布扣,bubuko.com

时间: 2024-07-28 20:52:51

杭电 2544 最短路的相关文章

Dijk入门(杭电2544题)

#include<iostream> #include<cstring> using namespace std; #define INF 0x3f3f3f3f int n,m; int map[105][105]; int vis[105]; int stemp[105]; int dijk(){ memset(vis,0,sizeof(vis)); vis[1]=1; //标记第一个已选 memset(stemp,0,sizeof(stemp)); int min; int f

杭电 1596 find the safest road (最短路)

http://acm.hdu.edu.cn/showproblem.php?pid=1596 这道题目与杭电2544最短路的思想是一样的,只不过是把+改成了*,输入输出有些不一样而已. find the safest road Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6985    Accepted Submission(s)

杭电ACM分类

杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment猜想 数论:容斥定理1007 童年生活二三事 递推题1008 University 简单hash1009 目标柏林 简单模拟题1010 Rails 模拟题(堆栈)1011 Box of Bricks 简单题1012 IMMEDIATE DECODABILITY

杭电ACM题目分类

杭电ACM题目分类 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028. 1029.1032.1037.1040.1048.1056.1058.1061.1070.1076.1089.1090.1091.1092. 1093.1094.1095.1096.1097.1098.1106.1108.1157.1163.1164.1170.1194.1196. 1197.1201.1202.1205.1219.1234.123

【转】对于杭电OJ题目的分类

[好像博客园不能直接转载,所以我复制过来了..] 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment猜想 数论:容斥定理1007 童年生活二三事 递推题1008 University 简单hash1009 目标柏林 简单模拟题1010 Rails 模拟题(堆栈)1011 Box of Bricks 简单题1012 IMMEDI

杭电 3270 The Diophantine Equation

http://acm.hdu.edu.cn/showproblem.php?pid=3270 The Diophantine Equation Time Limit: 1000/500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1146    Accepted Submission(s): 297 Problem Description We will consider a

ACM: HDU 2544 最短路-Dijkstra算法

HDU 2544最短路 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗? Input 输入包括多组数据.每组数据第一行是两个整数N.M(N<=100,M<

杭电 HDU 1164 Eddy&#39;s research I

Eddy's research I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7117    Accepted Submission(s): 4268 Problem Description Eddy's interest is very extensive, recently  he is interested in prime

hdu 1016 Prime Ring Problem DFS解法 纪念我在杭电的第一百题

Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 29577    Accepted Submission(s): 13188 Problem Description A ring is compose of n circles as shown in diagram. Put natural num