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

这题的思路可以见这里(同一类型):http://blog.csdn.net/xiaozhuaixifu/article/details/9232921

#include<iostream>
using namespace std;
const int maxn=101;
const int intmax=99999;
int weight[maxn][maxn]; //保存权值的邻接矩阵
int dis[maxn];
int s,t;
void dijkstra()
{
bool Sset[maxn];
memset(Sset,0,sizeof(Sset));
Sset[s]=1;
for(int i=0;i<maxn;i++)
{
int u,v;
int tmp=intmax;
for(int i=0;i<maxn;i++)
{
if(!Sset[i]&&dis[i]<tmp)
{
u=i;
tmp=dis[i];
}
}
Sset[u]=1;
for(int i=0;i<maxn;i++)
{
if(!Sset[i]&&weight[u][i]<intmax)
{
int newdis=dis[u]+weight[u][i];
if(newdis<dis[i])dis[i]=newdis;
}
}
}
}
int main()
{
int n,m;
while(cin>>n>>m)
{
if(n==0&&m==0)break;
int a,b,x;
for(int i=1;i<maxn;i++)
for(int j=1;j<maxn;j++)
weight[i][j]=intmax;
for(int i=0;i<m;i++)
{
cin>>a>>b>>x;
if(x<weight[a][b]) //处理重边
weight[a][b]=weight[b][a]=x;
}
// cin>>s>>t;
for(int i=0;i<maxn;i++)dis[i]=weight[1][i];
dis[1]=0; //如果是起点到起点,则应该是0
dijkstra();
if(dis[n]<intmax)
cout<<dis[n]<<endl;
else cout<<-1<<endl; //不存的情况应该是:权值无穷大
}
return 0;
}

HDOJ/HDU 2544 最短路---dijkstra算法的更多相关文章

  1. ACM: HDU 2544 最短路-Dijkstra算法

    HDU 2544最短路 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Descrip ...

  2. hdu 2544 最短路 Dijkstra

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 题目分析:比较简单的最短路算法应用.题目告知起点与终点的位置,以及各路口之间路径到达所需的时间, ...

  3. HDU 2544最短路dijkstra模板题

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

  4. HDU 2544 最短路(dijkstra+邻接矩阵)

    ( ̄▽ ̄)" #include<iostream> #include<cstdio> using namespace std; const int INF=10e7; ...

  5. HDU - 2544最短路 (dijkstra算法)

    HDU - 2544最短路 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以 ...

  6. UESTC 30 &&HDU 2544最短路【Floyd求解裸题】

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

  7. 单源最短路dijkstra算法&&优化史

    一下午都在学最短路dijkstra算法,总算是优化到了我能达到的水平的最快水准,然后列举一下我的优化历史,顺便总结总结 最朴素算法: 邻接矩阵存边+贪心||dp思想,几乎纯暴力,luoguTLE+ML ...

  8. HUD.2544 最短路 (Dijkstra)

    HUD.2544 最短路 (Dijkstra) 题意分析 1表示起点,n表示起点(或者颠倒过来也可以) 建立无向图 从n或者1跑dij即可. 代码总览 #include <bits/stdc++ ...

  9. 最短路Dijkstra算法的一些扩展问题

    最短路Dijkstra算法的一些扩展问题     很早以前写过关于A*求k短路的文章,那时候还不明白为什么还可以把所有点重复的放入堆中,只知道那样求出来的就是对的.知其然不知其所以然是件容易引发伤痛的 ...

随机推荐

  1. js-事件委托

    事件委托一般用于动态生成的元素中使用,如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8& ...

  2. 关于html页面图片自动撑开的问题

    如下列代码: <div id="divnr" style="text-align: center; margin: 10px; width:600px;" ...

  3. 生产环境 tomcat中启动缓慢

    具体的原因没研究,大概是一个随机数种子生成的速度拖慢了,直接copy一份解决方案,属于备忘材料 解决 有两种解决办法: 1)在Tomcat环境中解决 可以通过配置JRE使用非阻塞的Entropy So ...

  4. shell的string operator

    ${varname:-word} 如果varname存在并且不为nil,那么返回varname的值,否则返回word.这个常用来在varname未定义时返回默认值 ${varname:=word} 如 ...

  5. Centos6.5使用yum安装MariaDB

    系统版本:Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x8 ...

  6. Apache之AllowOverride参数详解

    通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里.但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对 ...

  7. WDCP控制面板的常用liunx命令集

    WDCP是在linux下的一款常用的服务器可视化管理面板,是新手使用linux搭建网站的福音.本文不过多的介绍WDCP是什么,如果需要了解的话,可以至WDCP官方介绍页面查看. 今天博主准备查看网站系 ...

  8. 分享到QQ空间、新浪微博、腾讯微博的代码!(收藏)

    QQ空间分享代码如下:    <a href="javascript:void(0);" onclick="window.open('http://sns.qzon ...

  9. iOS学习之懒加载

    懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,其实是重写getter方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化 使用懒 ...

  10. uc/os 笔记(转)

    1.uC/OS-II中使用互斥信号对象应该注意 互斥信号对象(Mutual Exclusion Semaphore)简称Mutex,是uC/OS-II的内核对象之一,用于管理那些需要独占访问的资源,并 ...