hdu2544
2015-07-28 15:14
239 查看
第二发最短路dijkstra
#include<stdio.h> #include<math.h> #define max 10000000 int a,b,m,i,j,k,n,x; int dis[500],c[500][500]; void dijkstra(int star,int end,int c[500][500],int dis[]) { int w[500]={0},v; dis[star]=0; for(i=1;i<=n;i++) { if(c[star][i]!=max) dis[i]=dis[star]+c[star][i]; } w[star]=1; for(i=1;i<=n;i++) { int tem=max; for(j=1;j<=n;j++) { if(w[j]==0&&dis[j]<tem) { tem=dis[j]; v=j; } } w[v]=1; for(j=1;j<=n;j++) { if(dis[j]>dis[v]+c[v][j]) dis[j]=dis[v]+c[v][j]; } } printf("%d\n",dis[end]); } int main() { while(scanf("%d %d",&n,&m)!=EOF) { if(n==0&m==0)break; for(i=1;i<=n;i++) dis[i]=max; for(i=1;i<=n;i++) for(k=1;k<=n;k++) c[i][k]=max; for(i=1;i<=m;i++) { scanf("%d %d %d",&a,&b,&x); if(c[a][b]>x){ c[a][b]=x; c[b][a]=x; } } dijkstra(1,n,c,dis); } return 0; }
相关文章推荐
- 双线性插值
- 汉诺塔 X(二分法)
- 【转】Fragment Transactions & Activity State Loss
- 1061. Dating (20)
- PHP正则匹配title标题文本
- 双线性插值 分类: 图像处理 2015-07-28 15:14 7人阅读 评论(0) 收藏
- 2014-8-4阿里电话面试
- Gradle中文乱码???
- ios总结(多页面跳转:)
- android内存检测
- phalcon:跟踪sql语句
- HDU 1010 Tempter of the Bone
- 完全背包问题
- 字符串匹配算法总结
- redis 快速入门实战
- hdu 1027 康托展开求全排列
- kunter-generator
- Binary Tree Level Order Traversal II
- PHP的安全配置
- C语言中的函数指针