Dijkstra 最短路径
来源:互联网 发布:淘宝网抢拍软件 编辑:程序博客网 时间:2024/04/27 17:04
hdu1874
#include<iostream>#include<algorithm>#include<cstring>#include<cmath>#include<cstdio>#include<string>#include<set>#include<map>#include<queue>#include<vector>#include<stack>using namespace std;#define ll long long#define cl(a,b) memset(a,b,sizeof(a))#define N 50005#define MAXN 100005#define mod 1000000007#define INF 999999int map1[201][201],mark[201];int n,m,s,e,f[201];void dijkstra(){ int i,j,k,min; memset(mark,0,sizeof(mark)); for(i=0;i<n;i++) f[i]=map1[s][i]; f[s]=0; for(i=0;i<n;i++) { min=INF; for(j=0;j<n;j++) { if(!mark[j]&&min>f[j]) { k=j; min=f[j]; } } if(min==INF)break; mark[k]=1; for(j=0;j<n;j++) if(!mark[j]&&f[j]>f[k]+map1[k][j]) f[j]=map1[k][j]+f[k]; } if(f[e]!=INF) printf("%d\n",f[e]); else printf("-1\n");}int main(){ int a,b,l,i,j; while(~scanf("%d%d",&n,&m)) { for(i=0;i<n;i++) for(j=0;j<n;j++) map1[i][j]=INF; for(i=0;i<m;i++) { scanf("%d%d%d",&a,&b,&l); if(map1[a][b]>l) map1[a][b]=map1[b][a]=l; } scanf("%d%d",&s,&e); dijkstra(); } return 0;}
0 0
- 最短路径 Dijkstra
- 最短路径-Dijkstra
- Dijkstra 最短路径
- Dijkstra 最短路径。
- 最短路径dijkstra
- 最短路径 Dijkstra
- Dijkstra最短路径
- Dijkstra 最短路径
- 最短路径 dijkstra
- dijkstra最短路径
- Dijkstra最短路径
- 最短路径-Dijkstra
- 最短路径 【Dijkstra】
- 最短路径dijkstra
- 最短路径-Dijkstra
- 最短路径--dijkstra
- Dijkstra 最短路径
- 最短路径dijkstra
- Java 多态
- Xcode8更新之后模拟器找不到了
- 稀疏矩阵的压缩存储与快速转置 三元组法 类与对象实现
- 使用react native开发ios心得杂记
- 第八周 双色球
- Dijkstra 最短路径
- poj 3176
- QSettings的基本使用详解(一)
- Fast and Accurate Image Upscaling with Super-Resolution Forests
- 使用js实现放大镜的效果
- 带输入的Dialog
- Flask Web开发选型
- RxJava系列三
- C 控制流