hdu2544 最短路
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2544
最短路径DIJKSTRA
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include<limits.h>
#include<iostream>
using namespace std;
const int N=;
int a[N][N];//用于标记两个路口的默认距离(权值)
int use[N];//标记是否使用
int d[N];//两点间最短距离
int n,m;
void dijkstra(int u)
{
memset(use,,sizeof(use));
for(int i=;i<=n;i++)
d[i]=a[u][i];//初始化赋值
use[u]=;//1路口起点标记使用
d[u]=;//1 1 距离为0
for(int i=;i<=n;i++)
{
int min=INT_MAX;//理论最大值
int v=-;//设v为一个不可能的点
for(int w=;w<=n;w++)//在所有未标记use中,选择d最小的点
{
if(!use[w] && d[w]<min)
{
min=d[w];
v=w;
}
}
if(v!=-)//没有路径则不更新
{
use[v]=;//标记使用
for(int w=;w<=n;w++)
{
if(!use[w] && (a[v][w]<INT_MAX))//确定未使用以及拥有路径
{
if(d[w] > min+a[v][w])//比较,取得最小距离
d[w]=min+a[v][w];
}
}
}
}
// for(int i=1;i<=n;i++)
// printf("%d ",d[i]);
// cout<<endl;
printf("%d\n",d[n]);
}
int main()
{
//freopen("in.txt","r",stdin);
while(~scanf("%d%d",&n,&m)&&n&&m)
{
int x,y,c;
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
a[i][j]=INT_MAX;
}
for(int i=;i<m;i++)
{
scanf("%d%d%d",&x,&y,&c);
a[x][y]=a[y][x]=c;
}
dijkstra();
}
return ;
}
hdu2544 最短路的更多相关文章
- HDU-2544 最短路 Dijkstra模板题
题目链接:https://vjudge.net/problem/HDU-2544 题意: 题目要求找到节点1到节点n之间的一条最短路 分析: Dijkstra模板题 单源最短路径,可以用dijkstr ...
- HDU2544 最短路dij
纯最短路. ///HDU 2544堆优化的最短路 #include <cstdio> #include <iostream> #include <sstream> ...
- hdu2544 最短路 Dijkstra算法
最短路(Dijkstra算法模板题) Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- HDU2544 最短路 2017-04-12 18:51 31人阅读 评论(0) 收藏
最短路 Time Limit : 5000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submissio ...
- hdu2544最短路(floyd基础)
最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- 最短路径(最基础,经典的模板和思想):HDU-2544最短路
题目: 最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- [hdu2544]最短路spfa
解题关键:最短路模板一直没整理过,这里整理了一下spfa+链式前向星建图的最短路模板,以后网络赛省的打了. spfa算法的关键就是松弛操作,只有进行松弛操作,其后的点距离才可能被更新. #includ ...
- hdu-2544 最短路(最短路)
Time limit1000 ms Memory limit32768 kB 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到 ...
- HDU2544最短路(dijkstra)
用dijkstra来练练手 #include<iostream> #include<stdio.h> #include<string.h> #include< ...
随机推荐
- 节点属性(DOM对象)
节点属性 在文档对象模型 (DOM) 中,每个节点都是一个对象.DOM 节点有三个重要的属性 : 1. nodeName : 节点的名称 2. nodeValue :节点的值 3. nodeType ...
- WordPress 主题开发 - (一) 前言 待翻译
原文出自: http://themeshaper.com/2012/10/22/the-themeshaper-wordpress-theme-tutorial-2nd-edition/ THE TH ...
- CLR via C# 混合线程同步构造
1. 自旋,线程所有权和递归 2. 混合构造 a.ManualResetEventSlim b.SemaphoreSlim c.Monitor d.ReaderWriterLockSlim 3.条件变 ...
- How to generate number Sequence[AX 2012]
Suppose we want create number sequence for Test field on form in General ledger module Consideratio ...
- sql2012安装过程中出现个一个问题
最近安装了一次SQLSERVER2012,遇到了一个小问题,截图如下: 就是上图中状态为失败的项,点开之后,会弹出下面的一个框: 在网上搜了之后,有了这样的答案: http://www.cnblogs ...
- js中的数组
上网查了一下,js中的数组包含的内容还真不少.先给出两个学习的链接: w3school链接:http://www.w3school.com.cn/js/js_obj_array.asp 博客园链接:h ...
- 第27章 项目8:使用XML-RPC进行文件共享
1.问题 创建一个简单的P2P文件共享程序. P2P文件共享程序是在不同计算机上的程序交换文件.P2P交互内,任何节点(peer)都可以是链接到其他节点.在这样一个由节点组成的虚拟网络中,是没有中央节 ...
- C#学习笔记一
c#学习笔记一 c#学习笔记一 1 1. 注释 3 1.1. ///是文档注释,用于类和方法的说明 3 1.2. #region #endregion可以折叠代码 ...
- Microsoft Azure Powershell 获取Azure-Location
首先要切换至AzureResourceManager模式下 http://www.cnblogs.com/SignalTips/p/4110790.html 国际版Get-AzureLocation ...
- Android--消除“Permission is only granted to system apps”错误
原文:http://blog.csdn.net/gaojinshan/article/details/14230673 在AndroidManifest.xml中使用了如下的配置: <uses- ...