hdu 1874 畅通工程续(bellman-ford,dijkstra)
来源:互联网 发布:java 多线程 pdf 编辑:程序博客网 时间:2024/05/22 07:05
bellman-ford:
#include <stdio.h>#define INF 99999999int u[2200],v[2200],w[2200];int dis[210];int main(){ int n,m,i,k; while(scanf("%d %d",&n,&m) != EOF) { for(i = 0; i < m; ++i) { scanf("%d %d %d",&u[i],&v[i],&w[i]); u[i+m] = v[i]; v[i+m] = u[i]; w[i+m] = w[i]; } int start,end; scanf("%d %d",&start,&end); for(i = 0; i < n; ++i) dis[i] = INF; dis[start] = 0; for(k = 0; k < n; ++k) for(i = 0; i < 2*m; ++i) if(dis[v[i]] > dis[u[i]] + w[i]) dis[v[i]] = dis[u[i]] + w[i]; if(dis[end] < INF) printf("%d\n",dis[end]); else printf("-1\n"); } return 0;}
dijkstra:
#include <iostream>#include <cstring>using namespace std;#define INF 99999999int map[200][200];int dis[200];int book[200];int n,m;int main(){ int S,T,i,k,j,x,y,z; while(cin >> n >> m) { for(i = 0; i < n; ++i) for(j = 0; j < n; ++j) if(i == j) map[i][j] = 0; else map[i][j] = INF; for(i = 0; i < m; ++i) { cin >> x >> y >> z; if(z < map[x][y]) map[x][y] = map[y][x] = z; } memset(book,0,sizeof(book)); cin >> S >> T; for(i = 0; i < n; ++i) dis[i] = map[S][i]; book[S] = 1; int min = INF; int u,v; for(k = 0; k < n; ++k) { min = INF; for(i = 0; i < n; ++i) if(!book[i] && min > dis[i]){ min = dis[i]; u = i;} book[u] = 1; for(v = 0; v < n; ++v) dis[v] = dis[v] < dis[u]+map[u][v] ? dis[v]:dis[u]+map[u][v]; } if(dis[T] != INF) cout << dis[T] << endl; else cout << "-1" << endl; } return 0;}
0 0
- hdu 1874 畅通工程续(bellman-ford,dijkstra)
- dijkstra,bellman-ford,floyd,HDU—1874 畅通工程续
- HDU 1874 畅通工程续 (Floyd, Dijkstra,Bellman-Ford,SPFA)
- hdu1874 畅通工程续(Dijkstra/Floyd/Bellman-Ford/SPFA)
- hdu 1874 畅通工程续 dijsktra dijkstra+邻接表 优先队列 bellman-ford bellman-ford队列优化(基础题目,一步步优化)
- 最短路问题bellman ford算法(Hdu-1874 畅通工程再续)
- hdu 1874 畅通工程续 两种算法AC Floyd+Bellman-Ford算法 又是一波水题~~
- 最短路bellman-ford算法)B - 畅通工程续
- HDU 1874 畅通工程续(Dijkstra)
- HDU 1874 畅通工程续(Dijkstra)
- HDU - 1874 畅通工程续(Dijkstra)
- HDU - 1874 畅通工程续(dijkstra)
- hdu 1874畅通工程续 dijkstra
- hdu 1874 畅通工程续 (dijkstra算法)
- HDU--1874 -- 畅通工程续 [Dijkstra]
- HDU 1874 畅通工程续(简单Dijkstra)
- hdu 1874 畅通工程续 dijkstra算法
- HDU 1874 畅通工程续 dijkstra&&spfa
- 线程之间的通信
- toString()方法
- Easy-题目59:204. Count Primes
- Android系统架构
- 写出这个数
- hdu 1874 畅通工程续(bellman-ford,dijkstra)
- media server分析
- LVS负载均衡的三种模式和八种算法总结
- mysql 默认引擎innodb 初探(二)
- Easy-题目60:125. Valid Palindrome
- 三种妙法搞定冗余表数据一致性
- iOS中NSAttributedString用法
- IM通讯协议总结之二XMPP协议
- kali