题目: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 最短路的更多相关文章

  1. HDU-2544 最短路 Dijkstra模板题

    题目链接:https://vjudge.net/problem/HDU-2544 题意: 题目要求找到节点1到节点n之间的一条最短路 分析: Dijkstra模板题 单源最短路径,可以用dijkstr ...

  2. HDU2544 最短路dij

    纯最短路. ///HDU 2544堆优化的最短路 #include <cstdio> #include <iostream> #include <sstream> ...

  3. hdu2544 最短路 Dijkstra算法

    最短路(Dijkstra算法模板题) Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  4. HDU2544 最短路 2017-04-12 18:51 31人阅读 评论(0) 收藏

    最短路 Time Limit : 5000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submissio ...

  5. hdu2544最短路(floyd基础)

    最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  6. 最短路径(最基础,经典的模板和思想):HDU-2544最短路

    题目: 最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  7. [hdu2544]最短路spfa

    解题关键:最短路模板一直没整理过,这里整理了一下spfa+链式前向星建图的最短路模板,以后网络赛省的打了. spfa算法的关键就是松弛操作,只有进行松弛操作,其后的点距离才可能被更新. #includ ...

  8. hdu-2544 最短路(最短路)

    Time limit1000 ms Memory limit32768 kB   在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到 ...

  9. HDU2544最短路(dijkstra)

    用dijkstra来练练手 #include<iostream> #include<stdio.h> #include<string.h> #include< ...

随机推荐

  1. 《postfix MAIL服务搭建(第一篇):》RHEL6

    初级篇:搭建发送端.接收端.邮件别名的添加从而达到邮件群发功能的实现. 我们都知道邮件服务器是2个服务端也就是说2个端口,一个是发送的端口,一个是收邮件的端口,我们平常所使用的发送,接收邮件的过程,只 ...

  2. ASP.NET MVC 应用程序的安全性,看一眼你就会了

    1.使用Authorize特性登陆对于我们开发程序而言,基本上都是要求角色成员使用Authorize特性,比如,对于管理员而言角色是Admin,对于登陆注册登陆用户而言是User那么我们在用户登陆的时 ...

  3. Visual Studio 2013密钥

    Visual Studio 2013旗舰版KEY:BWG7X-J98B3-W34RT-33B3R-JVYW9Ultimate:BWG7X-J98B3-W34RT-33B3R-JVYW9 Premium ...

  4. RxJava 平常使用

    本文转载自: http://blog.csdn.net/theone10211024/article/details/50435325 一.Scheduler线程切换 这种场景经常会在“后台线程取数据 ...

  5. HTML表单样式

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  6. SQL中的自定义函数Function

    先给出一个链接吧,别人写的:http://www.cnblogs.com/diony/archive/2010/12/17/1909014.html 总结得很全面,感谢感谢!自己练习了一下后面的例子, ...

  7. 1097. Deduplication on a Linked List (25)

    Given a singly linked list L with integer keys, you are supposed to remove the nodes with duplicated ...

  8. 在Debian中安装VMware Workstatption 12

    在Debian中安装VMware Workstatption 12-----------------------------------------------> 下载文件:    *vmwar ...

  9. QQ群里收集的外企iOS开发的笔试题

    一组外企iOS开发的笔试题,您能回答出来吗?从群里收集来的. 1 why can't NSArray contain NSInteger Instance? with which extra step ...

  10. [转]adb pull Permission denied及no such file错误

    adb pull  Permission denied及no such file错误 http://www.the8m.com/blog/article/javadk/adbpull.html XP系 ...