最短路 Dijkstra模板
2017-12-19 23:23
405 查看
#include<bits/stdc++.h> using namespace std; int n,m,f[105][105],dis[105]; bool b[105]; //n为总共的点数,m为路径数,f数组记录两个点的距离,dis数组记录每个点到原点的距离 int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=m;i++){ int aa,bb,cc; scanf("%d%d%d",&aa,&bb,&cc); f[bb][aa]=f[aa][bb]=cc; } memset(dis,1,sizeof(dis)); dis[1]=0; for(int i=1;i<=n;i++) if(f[1][i]) dis[i]=f[1][i]; //将刚开始与1点连接的点路径记录 for(int i=1;i<=n;i++){ int k=0; int mn=2<<29; //一个大数 for(int j=1;j<=n;j++){ if(!b[j] && dis[i]+f[i][j]<mn && f[i][j]){ mn=dis[i]+f[i][j]; //记录最短点和路径 k=j; } } if(k==0) break; b[k]=1; dis[k]=mn; for(int j=1;j<=n;j++) if(dis[k]+f[k][j]<dis[j] && f[k][j]) //更新其余点 dis[j]=dis[k]+f[k][j]; } printf("%d",dis ); }
相关文章推荐
- 【最短路】CODE[VS] 1557 热浪 (Dijkstra模板)
- 最短路~dijkstra模板
- 最短路模板Dijkstra Bellman-Ford Floyd SPFA
- 单源最短路模板_SPFA_Dijkstra(堆优化)_C++
- 最短路(floyd/dijkstra/bellmanford/spaf 模板)
- hdu 2544 最短路 dijkstra模板
- Dijkstra 模板 最短路
- ACM_最短路模板(SPFA,Dijkstra,Floyd)
- Dijkstra最短路模板(lrj)
- HDU 2544 最短路(Dijkstra)(上手&&模板)
- Dijkstra求单源最短路模板
- 最短路~dijkstra堆优化模板
- dijkstra 优先队列最短路模板
- hdu2544最短路(Dijkstra模板题)
- 模板--Floyd Dijkstra Bellman-Ford spfa 四种最短路经典算法
- HDU 2544 最短路——简单的模板题 dijkstra
- 最短路(Dijkstra模板题)
- 【模板】【最短路】【Dijkstra+Heap,SPFA】
- 最短路(Dijkstra)Kuangbin大神的模板
- 【图论】单源点最短路模板(有向图)Dijkstra