SDUT2143图结构练习——最短路径
来源:互联网 发布:网络黄金egd崩盘了吗 编辑:程序博客网 时间:2024/06/12 21:52
图结构练习——最短路径
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
给定一个带权无向图,求节点1到节点n的最短路径。
输入
输入包含多组数据,格式如下。
第一行包括两个整数n m,代表节点个数和边的个数。(n<=100)
剩下m行每行3个正整数a b c,代表节点a和节点b之间有一条边,权值为c。
输出
每组输出占一行,仅输出从1到n的最短路径权值。(保证最短路径存在)
示例输入
3 21 2 11 3 11 0
示例输出
10
提示:看了Floyd算法才发现这个题太简单了。
必须参考网址Floyd算法,就是用vis更快的找到从i到k的距离path,然后又用vis找到k到j的距离;
来源
赵利强
示例程序
///*****请参考提示里的链接,不然看解释也看不懂;#include <stdio.h>#include <string.h>#define Inf 0x3f3f3f3fint map[105][105],vis[105],path[105];void dijkstra(int n,int begin,int end){ for(int i=1; i<=n; i++) { path[i]=map[begin][i]; }///*************将i到中间位置的距离全部表示出来; vis[begin]=1; path[begin]=0; int t; for(int i=2; i<=n; i++) { int min=Inf; for(int j=1; j<=n; j++) { if(!vis[j]&&path[j]<min) { min=path[j]; t=j; } }///找到i到中间点t的最短距离; vis[t]=1; for(int k=1; k<=n; k++) { if(!vis[k]) { if(path[t]+map[t][k]<path[k]) path[k]=path[t]+map[t][k]; } }///找到中间点t到k点的最短距离; } printf("%d\n",path[end]);}int main(){ int n,m,v,u,c; while(~scanf("%d%d",&n,&m)) { if(m==0) printf("0\n"); else { for(int i=1; i<=n; i++) for(int j=1; j<=n; j++) { if(j==i) map[i][j]=0; else map[i][j]=Inf; } memset(vis,0,sizeof(vis)); for(int i=1; i<=m; i++) { scanf("%d%d%d",&v,&u,&c); if(map[v][u]>c) map[v][u]=map[u][v]=c; } dijkstra(n,1,n); } } return 0;}
0 0
- SDUT2143 图结构练习——最短路径
- SDUT2143图结构练习——最短路径
- 图结构练习——最短路径 floyd算法 SDUT2143
- SDUT2143最短路径
- SDUT 2143 图结构练习——最短路径
- SDUT 2143 图结构练习——最短路径
- 图结构练习——最短路径
- 图结构练习——最短路径
- 图结构练习——最短路径
- 图结构练习——最短路径
- 图结构练习——最短路径(sdut_2143)
- 图结构练习——最短路径
- SDUT 2143 图结构练习——最短路径
- 图结构练习——最短路径
- 图结构练习——最短路径
- 图结构练习——最短路径
- 图结构练习——最短路径
- SDUTACM 图结构练习——最短路径
- Java关键字volatile
- map函数的应用
- 复习(数据结构):图:c语言:邻接矩阵DFS和BFS
- [机器学习]UC Irvine 数据集网的adults预测收入算法错误率
- HDU 1022 火车站(模拟栈)
- SDUT2143图结构练习——最短路径
- HDU-5833-Zhu and 772002(高斯消元)
- 关于React Native 报Export declarations are not supported by current JavaScript version错误的解决问题
- 理解OAuth 2.0
- HDU 1735 统计数字(贪心)
- CodeForces 471D MUH and Cube Walls(KMP)
- 二叉树之中序遍历(递归和非递归两种遍历)
- Hdu 5833 Zhu and 772002(高斯消元解异或方程组)
- 21分钟 MySQL 入门教程