[HDU](2544)最短路 ---单源最短路径(图)
来源:互联网 发布:主提女装淘宝店有吗 编辑:程序博客网 时间:2024/06/13 23:21
最短路
HDU - 2544在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?
Input
输入保证至少存在1条商店到赛场的路线。
2 11 2 33 31 2 52 3 53 1 20 0
Sample Output
3
2AC代码:dijkstra算法,模板题
#include<iostream>#include<cstring>using namespace std;int mmap[1005][1005];bool vis[1005];int dist[1005];int n,m;#define INF 0x3f3f3f3fvoid dijkstra(int x){ for(int i=1;i<=n;i++) dist[i]=mmap[x][i]; int mmin; int k; for(int i=1;i<=n;i++) { mmin=INF; for(int j=1;j<=n;j++) { if(!vis[j] && dist[j]<mmin) { mmin=dist[j]; k=j; } } vis[k]=true; for(int j=1;j<=n;j++) { if(!vis[j] && dist[k]+mmap[k][j]<dist[j]) dist[j]=dist[k]+mmap[k][j]; } }}int main(){ int u,v,w; while(cin>>n>>m &&n &&m) { memset(mmap,0,sizeof(mmap)); memset(vis,false,sizeof(vis)); memset(dist,0,sizeof(dist)); for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(i==j) mmap[i][j]=0; else mmap[i][j]=INF; } } while(m--) { cin>>u>>v>>w; if(w<mmap[u][v]) { mmap[u][v]=mmap[v][u]=w; } } vis[1]=true; dijkstra(1); cout<<dist[n]<<endl; } return 0;}
阅读全文
0 0
- [HDU](2544)最短路 ---单源最短路径(图)
- HDU:最短路(单源最短路径Dijistra)
- hdu 2544 最短路 (最短路径)
- hdu-2544-最短路(迪杰斯特拉-最短路径)
- hdu oj 2544 最短路(最短路径)
- [最短路径] HDU 2544 - 最短路
- 最短路径(最基础,经典的模板和思想):HDU-2544最短路
- HDU 2544 最短路 (单源最短路)
- (最短路径 Floyd)HDU 2544 最短路
- 最短路 (HDU 2544)
- hdu 2544(最短路)
- (HDU-2544)最短路
- hdu 2544 最短路(最短路径)(flody、dij、dij+priority queue、bellman、spfa)
- HDU 2544:最短路( 最短路径入门 &&Dijkstra && floyd )
- 【HDU】-2544-最短路(最短路)(dijkstra)
- hdu 2544 最短路(最短路第一弹)
- hdu 2544 最短路 (diskstra求最短路)
- HDU 2544-最短路(最短路spfa)
- html中js调用input的id,name正确但是读不出值
- java 找出所有最长连续重复子串及其个数
- Spring的MVC框架认识
- linux grep命令
- 怎么用数学绘图软件制作正方体展开动画?
- [HDU](2544)最短路 ---单源最短路径(图)
- 漫谈程序员系列:怎么告别“混日子”
- 对反向传播算法的理解
- sqlite_exec回调函数的使用
- 一 ServletContext 和 spring ClassPathXmlApplicationContext
- Python for...else
- 最长不下降子序列
- Qt之QWidget/QDialog/QMainWindow
- 概念 Qt