题目链接: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. java使用ObjectInputStream从文件中读取对象

    import java.io.EOFException;import java.io.FileInputStream;import java.io.FileNotFoundException;impo ...

  2. openwrt上网配置的一些理解(二)

    上一篇里面遇到了只能静态上网的问题,动态不行.所以再接再励,问题总是要解决的,偷懒的下场就是一直停留在菜鸟的水平. 首先分析下问题,要动态上网,首先我要明确不是动态获取不了IP,是获取了,上不了外网. ...

  3. Mina入门实例

    继续上一篇,这篇主要讲通过mina往B端发送消息.并接受消息,mina是一个网络通信框架,封装了javaNIO.简单易用.网上有非常多关于他的介绍,在此不赘述了. 如上篇所介绍,完毕功能,须要五个类: ...

  4. Android学习之多点触摸并不神秘

    最近研究了一下多点触摸,写了个利用多点触摸来控制图片大小和单点触摸控制图片移动的程序,和大家分享分享. Android中监听触摸事件是onTouchEvent方法,它的参数为MotionEvent,下 ...

  5. ASP.NET快速学习方案(.NET菜鸟的成长之路)

    想要快速学习ASP.NET网站开发的朋友可以按照下面这个学习安排进度走.可以让你快速入门asp.net网站开发!但也局限于一般的文章类网站!如果想学习更多的技术可以跟着我的博客更新走!我也是一名.NE ...

  6. defer和async

    1.decument.wirte不能使用 2.<script src="text.js" type="text/javascript" defer=&qu ...

  7. Codeforces Round #276 (Div. 1)

    a. 给俩数, 求他俩之间二进制数中1最多的,有多个输出最小的: 贪心,从小到大加能加就加,最后可能碰到一个不能加了但是当前数比l小,那么就加上这个数,然后从大到小,能减就减,见到符合条件 #incl ...

  8. NonUniqueObjectException 问题

    org.hibernate.NonUniqueObjectException: a different object with the same identifier value was alread ...

  9. 3月19日 html(一) html基础内容

    ---恢复内容开始--- 今天学习了html的第一节课,是些比较简单的基础知识,知道如何向网页里添加文本.图片.表格.超链接之类的,如何去编写这些代码. html(hyper text makeup ...

  10. Apache虚拟主机的配置

    虚拟主机的配置 基于IP地址的虚拟主机配置Listen 80DocumentRoot /www/example1ServerName www.example1.comDocumentRoot /www ...