[最短路径] HDU 1874 - 畅通工程续
来源:互联网 发布:mac草莓红和番茄红对比 编辑:程序博客网 时间:2024/06/07 06:33
最短路径简单题,用Dijkstra做的。
需要注意的地方:
1、输入中的两点之间的距离,可能存在重边,要选取最小的距离。
2、当S和T相等时,输出0。
#include <stdio.h>#include <string.h>#include <math.h>#include <stdlib.h>#include <algorithm>#include <iostream>#include <set>#include <map>#include <queue>#include <stack>#include <assert.h>#include <time.h>#define Max 200typedef long long LL;const int INF = 500000001;const double EPS = 1e-9;const double PI = acos(-1.0);using namespace std;int graph[Max][Max], vis[Max], dis[Max];int N, M, s, e;void init(){ for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) { if(i == j) graph[i][j] = 0; else graph[i][j] = INF; } }}void Dijkstra(){ for(int i = 0; i < N; i++) { dis[i] = graph[s][i]; vis[i] = -1; } vis[s] = 1; for(int i = 1; i < N; i++) { int minn = INF; int k = -1; for(int j = 0; j < N; j++) { if(vis[j] == -1 && minn > dis[j]) { minn = dis[j]; k = j; } } if(k == -1) break; vis[k] = 1; for(int j = 0; j < N; j++) { if(vis[j] == -1 && dis[k] + graph[k][j] < dis[j]) { dis[j] = dis[k] + graph[k][j]; } } }}int main(){ #ifdef _1Test freopen("test0.in", "r", stdin); freopen("test0.out", "w", stdout); srand(time(NULL)); #endif int a, b, v; while(~scanf("%d %d", &N, &M)) { init(); for(int i = 0; i < M; i++) { scanf("%d %d %d", &a, &b, &v); graph[a][b] = graph[b][a] = min(graph[a][b], v); } scanf("%d %d", &s, &e); Dijkstra(); if(dis[e] == INF) puts("-1"); else printf("%d\n", dis[e]); } return 0;}
0 0
- hdu 1874 畅通工程续 dij_最短路径
- HDU 1874 畅通工程续 最短路径
- HDU 1874 畅通工程续 (最短路径)
- HDU 1874 畅通工程续【最短路径】
- 【最短路径dijkstra算法】HDU 1874---畅通工程续
- 【最短路径spfa算法】HDU 1874---畅通工程续
- hdu 1874 畅通工程续(最短路径)
- hdu 1874畅通工程再续(最短路径)
- hdu-1874 畅通工程续 最短路径问题
- [最短路径] HDU 1874 - 畅通工程续
- (最短路径 Dijkstra)HDU 1874 畅通工程续
- hdu 1874畅通工程续+2544最短路+3790最短路径(dijkstra算法入门题)
- 畅通工程续 最短路径 Dijkstra
- hdu1874 最短路径 畅通工程续
- 畅通工程续(最短路径)
- 畅通工程续 最短路径问题
- 【最短路径】畅通工程续
- (step6.2.2)hdu 1874(畅通工程续——最短路径)
- JVM监控工具
- intellij idea 使用:can't use subversion command line client : svn
- http://www.hexanon.net/
- POJ 2503 Babelfish
- redis源码分析----main函数
- [最短路径] HDU 1874 - 畅通工程续
- "error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
- 通过Stack Overflow标签分析编程语言新趋势
- SIP learning
- androidpn源码地址
- A C# Winform Desktop App with Access to Remote Sql Server
- JAVA基础中的运算和表达式
- 如何利用openssl来计算一个文件的MD5值?
- 2 shell学习入门