hdu 1874 畅通工程续 (裸的 Dijkstra)

【最短路入门专题1】 hdu 1874 B - 畅通工程续 坑题【dijkstra】 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。  现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input本题目包含多组数据,请处理到文件结束。  每组数据第一行包含两个正整数N和M(0 接下来是M行道路信息。每一 阅读详情

畅通工程续

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 36056    Accepted Submission(s): 13238



Problem Description
某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。

现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。
 

Input
本题目包含多组数据,请处理到文件结束。
每组数据第一行包含两个正整数N和M(0<N<200,0<M<1000),分别代表现有城镇的数目和已修建的道路的数目。城镇分别以0~N-1编号。
接下来是M行道路信息。每一行有三个整数A,B,X(0<=A,B<N,A!=B,0<X<10000),表示城镇A和城镇B之间有一条长度为X的双向道路。
再接下一行有两个整数S,T(0<=S,T<N),分别代表起点和终点。
 

Output
对于每组数据,请在一行里输出最短需要行走的距离。如果不存在从S到T的路线,就输出-1.
 

Sample Input
3 3 0 1 1 0 2 3 1 2 1 0 2 3 1 0 1 1 1 2
 

Sample Output
2 -1
 

Author
linle

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874


解题思路:裸的Dijkstra算法,求正权最短路,这题要注意的是,两点之间可能存在多条长度不同的路,建图时注意取最短的一条。


代码如下:


#include <cstdio>
#include <cstring>
#define inf 1e9
const int maxn=205;
int eg[maxn][maxn],dist[maxn],s[maxn];
int n,m,st,ed;
void Dijkstra()
{
	memset(s,0,sizeof(s));
	for(int i=0;i<n;i++)
		dist[i]=eg[st][i];
	s[st]=1;
	dist[st]=0;
	for(int i=0;i<n;i++)
	{
		int u,mi=inf;
		for(int j=0;j<n;j++)
		{
			if(!s[j]&&mi>dist[j])
			{
				u=j;
				mi=dist[j];
			}
		}
		s[u]=1;
		for(int j=0;j<n;j++)
		{
			if(!s[j]&&dist[j]>dist[u]+eg[u][j])
				dist[j]=dist[u]+eg[u][j];
		}
	}
}
int main()
{
	int a,b,c;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		for(int i=0;i<=n;i++)
			for(int j=0;j<=n;j++)
				eg[i][j]=inf;
		for(int i=0;i<m;i++)
		{
			scanf("%d%d%d",&a,&b,&c);
			if(eg[a][b]>c)
				eg[a][b]=eg[b][a]=c;
		}
		scanf("%d%d",&st,&ed);
		Dijkstra();
		if(dist[ed]==inf)
			printf("-1\n");
		else
			printf("%d\n",dist[ed]);
	}
}


图论专题HDU-1874 畅通工程续 图论专题 J-畅通工程 题面 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两个正整数N和M(0<N&... 阅读详情

相关推荐

(详细总结)python爬取 163收件箱邮件内容,收件箱列表的几种方法(urllib, requests, selenium)

需求:最近有一个需求,需要将163邮箱收件箱里面的所有邮件的内容全部copy下来,整理到一个word里面,不多也就28页的邮件(不要问我为什么有这需求,不告诉你),自己手动去ctrl+ cv 的话,估计要搞吐。然后就想能不能用python的爬虫来实现,虽然过程比较苦(后期改bug改的要吐了)。但是会后还是将需求实现了。这基本也算是入门了 urllib、requests、selenium这几个py...

man_tou_22 1万+

hdu 2066 一个人的旅行(裸dijkstra)

http://acm.hdu.edu.cn/showproblem.php?pid=2066 求多源多汇的最短路,n最大为1000,floyd三重循环会超时。继续dijkstra吧。 #include #include #include #include #include #include #include #include #define LL long long #

1500

锐浪报表 Grid++Report 子报表 Delphi

锐浪报表 Grid++Report 是国内较好的报表控件,本人一直使用它,做出很多特色的报表。可以说你的报表设计出来,它基本上能做出来。 但是它帮助文件上,说的不深,近期因为要做一个有关社工的报表,大表中,嵌套2个子表。可以说,一个表到三个数据集,分别打印。 在认真看了帮助的基础上,网上探索,基本无此类,特别是Delphi的帮助,几乎为零。经二天摸索,做出来了。 一、设计思路 1、大表和二个小表,可以设计为三个表,分别使用三个GridppReport控件,取名...

lyhoo163的专栏 9071

POJ 1502 MPI Maelstrom (dijkstra裸题)

普通版:#include &lt;map&gt; #include &lt;set&gt; #include &lt;cmath&gt; #include &lt;queue&gt; #include &lt;stack&gt; #include &lt;cstdio&gt; #include &lt;vector&gt; #include &lt;iomanip&gt; #inc

Insist_77的博客 365

power bi 演唱会-佐罗

我是业务分析人员,注重使用性,因此,课程不到 30% 的内容就可以解决目前为止我碰到的所有业务问题,剩下的 70% 内容是帮助我提升,优化,升华,精益求精用的,比如第三方工具,比如代码运行速度优化,比如查询逻辑优化等等。系统性上来说,结构明晰,安排上非常有条理,层层递进;《BI 真经》,中有真经二字,略显夸大,而当我第一次证明了这点的时候,我也非常惊讶,这就是我做以下所有事情的一切动力。《BI 真经》综合考量思想性,系统性,本质性,创新性,通用性,技巧性,启发性,对比其他课程有压倒性的显著优势。

v_1090213742的博客 911

Vcenter安全加固-防火墙-只允许特定的IP地址访问Vcenter

3、此时除了被允许的IP地址可以访问之外,其余地址均被防火墙阻挡。2、再进行0.0.0.0/0匹配所有其他IP地址进行拒绝访问。1、只需要关注接受和拒绝即可。2、其余选择不是这个场景使用的。1.只允许特定的IP地址访问Vcenter。1、登录Vcenter管理界面。2、点击防火墙-添加。

博然的宝藏库 7277

【裸单源最短路:Dijkstra算法两种版本】hdu 1874 畅通工程续

Source : hdu 1874 畅通工程续 http://acm.hdu.edu.cn/showproblem.php?pid=1874 Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和

Hacker_vision 1479

【PyTorch】CNN(一维卷积Conv1D)实现时间序列预测

本文介绍了一维卷积神经网络(Conv1D)在时间序列预测中的应用,展示了其基本原理及实现方式。通过合适的数据预处理和模型调参,Conv1D可以有效地捕捉时间序列数据中的模式,从而进行精准预测。

走向CTO的路上... 1172

hdu1874 畅通工程续(裸Dijkstra)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1874 思路:话说这题刚开始队列优先级搞错样例居然也能过,害得我找了半天错。。其他没什么好说的。。。 #include <cstdio> #include <iostream> #include <algorithm> #include <stri...

Iguodala的博客 432

【Windows Server 2019】活动目录 (Active Directory) ——将计算机加入域和脱离域

博文介绍了如何将计算机加入AD域和脱离AD域,包括加入域,验证客户机加入到域后的信息,使用域账户用户在客户机上登录,使用本地账户用户在计算机上登录,脱离域。

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 6169

AI在生物学领域的应用:基因序列分析和人工智能生物学

好的,非常感谢您提供的这个精彩的主题和详细的要求。我会全力以赴,遵循您的要求写一篇内容丰富、结构清晰、论述深入的专业技术文章。现在,就让我们开始这篇关于"AI在生物学领域的应用:基因序列分析和人工智能生物学"的博客文章吧! 1. 背景介绍 1.1 生物信息学的兴起

AI天才研究院 1413

畅通工程续 HDU - 1874 (最短路模板题)

畅通工程续 HDU - 1874 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两个正整数N和M(0&l...

Suprit's blog 688

STM32 HAL PWM (占空比) -电机软启动不到位解决

为了避免电机启动电压大造成设备损坏,或者供电不足导致重启,通常在对启动都需要一个PWM进行软启动,下面对PWM电机软启动详细介绍。

weixin_44597885的博客 866

hdu 1874 畅通工程续(dijkstra)

hdu 1874 畅通工程续 http://acm.hdu.edu.cn/showproblem.php?pid=1874 ProblemDescription 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。现在,已知起点...

diansitao5461的博客 161

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

畅通工程续 (dijkstra) hdu 1874 c++

畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 28714    Accepted Submission(s): 10433 Problem Description 某省自从实行了很多年的畅通工程计划后

u012938194的专栏 854

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

HDU1874 畅通工程续 【链式前向星】+【Dijkstra】

畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 26970    Accepted Submission(s): 9719 Problem Description 某省自从实行了很多年的畅通工程计划后,

长风的专栏 1894

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Hdu 1874 畅通工程续

Hdu 1874 畅通工程续 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 解题思路:迪杰斯特拉模板题,枚举从s开始路上的点是否能通过其他点到另一个点的距离更短即可。 代码如下: #include <bits/stdc++.h> using namespace std; #define inf 0x33f3f3f #defi...

weixin_43823753的博客 297

hdu1874 畅通工程续(Dijkstra)

题目连接:hdu1874 模板题 #include #include #include #include using namespace std; const int inf = 9999999; int map[205][205]; int dis[205];//表示当前点到源点的最短路 int s,e,n;//s表示起点,e表示终点 void dijkstra() { bo

no pains,no gains 740

ACM-最短路之畅通工程续——hdu1874

ACM 最短路 畅通工程续 hdu1874 Dijkstra and Floyd

继续激情,继续奋斗。 1857

最短路径问题(Dijkstar算法 HDU 1874 畅通工程续  )详解

HDU 1874 畅通工程续     畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 10327    Accepted Submission(s): 3451   Problem Description 某省自从实...

Strive_Y的博客 454

HDU 1874 畅通工程续(Floyd & Dijstra & SPFA)

题目链接&lt;http://acm.hdu.edu.cn/showproblem.php?pid=1874&gt;   畅通工程续   Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 63250    Accepted Subm...

Eliot的博客 222

HDU1874 畅通工程续【Dijkstra算法+Floyd算法】

畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 96889 Accepted Submission(s): 37277 Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短

海岛Blog 1159

HDU.1874 畅通工程续 (dijkstra)

HDU.1874 畅通工程续 (Dijkstra)题意分析坑点比较多 1. 某两点之间可能有多条通路,在跑Dij时需要用距离最小的算。 2. 当起点和重点相等的时候,距离为0 3. 点的编号从0开始。#include <bits/stdc++.h> #define nmax 210 using namespace std; int mp[nmax][nmax]; int dis[nmax];

Pengwill's Blog 214

HDU1874 畅通工程(dijkstra)

Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两个正整数N和M(0<...

邵光亮的博客 603

HDU 1874 畅通工程续 (Dijkstra)

畅通工程续 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离...

b502540662的博客 169

hdu-1874 畅通工程续

畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 36823    Accepted Submission(s): 13537 Problem Description 某省自从实行了很多年的畅通工程计划后,终于修

B_mess的博客 611
上一篇: A Math game (DFS+剪枝)
下一篇: hdu 2066 一个人的旅行(简单的Dijkstra)
雨狮子
博客等级 码龄12年 24粉丝 185原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值