hihoCoder#1081 最短路径·一
2015-04-06 20:13
218 查看
原题地址
Dijkstra算法,甚至都不用优化(堆或优先队列)即可过
代码:
Dijkstra算法,甚至都不用优化(堆或优先队列)即可过
代码:
#include <iostream> #include <vector> #include <set> #include <cstring> using namespace std; #define MAX_POINT 1024 #define MAX_EDGE 16384 int N, M, S, T; int graph[MAX_POINT][MAX_POINT]; int v[MAX_POINT]; void bfs() { v[S] = 1; while (true) { int k = 0; for (int i = 1; i <= N; i++) { if (!v[i] && graph[S][i] < graph[S][k]) k = i; } if (k == T) break; v[k] = 1; for (int i = 1; i <= N; i++) if (!v[i] && graph[S][i] > graph[S][k] + graph[k][i]) graph[S][i] = graph[S][k] + graph[k][i]; } } int main() { memset(v, 0, sizeof(v)); memset(graph, 64, sizeof(graph)); scanf("%d%d%d%d", &N, &M, &S, &T); for (int i = 0; i < M; i++) { int u, v, len; scanf("%d%d%d", &u, &v, &len); graph[u][v] = graph[v][u] = min(graph[u][v], len); } bfs(); printf("%d\n", graph[S][T]); }
相关文章推荐
- [hihoCoder] #1081 : 最短路径·一
- hihoCoder - 1081 - 最短路径·一 (dijkstra算法!!)
- [HihoCoder]#1081 : 最短路径·一
- hihocoder#1093 : 最短路径·三:SPFA算法
- 1081 : 最短路径·一
- hiho_1081_最短路径1
- hihoCoder1081 1089 1093 :最短路径
- hihoCoder - 1081 - 最短路径·一:Dijkstra算法
- #hihocoder #1081 : 最短路径·一
- hihoCoder 1081 : 最短路径·一
- hihoCoder #1081 : 最短路径·一 (Dijkstra算法)
- hihocoder(1081)最短路径1
- hiho 1081 最短路径
- hihoCoder 1081 : 最短路径·一
- 携程 最短路径的代价
- 最短路径Floyd算法【图文详解】
- 最短路径之Floyd算法
- USTC 1280 / 携程决赛1004 最短路径的代价
- uva 10801(最短路径)
- PAT 1003. Emergency (25)(俩点间最短路径)