hdu 2066 一个人的旅行(最短路径 Dijkstra算法)
来源:互联网 发布:软件程序 编辑:程序博客网 时间:2024/05/16 05:48
思路:Dijkstra求最短路径,将0节点作为原点,求出到各个点的距离。
#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;#define inf 0x3fffffff#define N 1005int T,S,D,n,map[N][N],vis[N],cast[N],s[N],e[N];void Dijkstra(){ int i,j,minn,pos; memset(vis,0,sizeof(vis)); vis[0] = 1; for(i = 0; i<=n; i++) cast[i] = map[0][i]; for(i = 1; i<=n; i++) { minn = inf; for(j = 1; j<=n; j++) { if(cast[j]<minn && !vis[j]) { pos = j; minn = cast[j]; } } vis[pos] = 1; for(j = 1; j<=n; j++) { if(cast[pos]+map[pos][j]<cast[j] && !vis[j]) cast[j] = cast[pos]+map[pos][j]; } }}int main(){ int x,y,z; while(~scanf("%d%d%d",&T,&S,&D)) { n = 0; for(int i = 0; i<N; i++) { for(int j = 0; j<N; j++) map[i][j] = inf; map[i][i] = 0; } while(T--) { scanf("%d%d%d",&x,&y,&z); n = max(max(n,x),y);//n标记节点个数 if(z<map[x][y]) map[x][y] = map[y][x] = z; } for(int i = 0; i<S; i++) { scanf("%d",&s[i]); map[0][s[i]] = map[s[i]][0] = 0; } for(int i = 0; i<D; i++) scanf("%d",&e[i]); Dijkstra(); int minn = inf; for(int i = 0; i<D; i++) minn = min(minn,cast[e[i]]); printf("%d\n",minn); } return 0;}
0 0
- 【最短路径dijkstra算法】HDU 2066---一个人的旅行
- hdu 2066 一个人的旅行(最短路径 Dijkstra算法)
- hdu 2066 一个人的旅行 最短路径dijkstra算法
- hdu 2066 一个人的旅行 最短路径floyd算法
- 一个人的旅行 HDU 最短路径
- (阶段三 dijkstra算法温习1.2)HDU 2066 一个人的旅行(使用dijkstra来解决多源起点和多源终点的最短路径问题)
- 【最短路径-Floyd】hdu 2066 一个人的旅行
- HDU 2066 一个人的旅行(最短路径)
- hdu 2066 一个人的旅行 最短路径
- hdu 2066 一个人的旅行 最短路径
- HDU 2066 一个人的旅行 最短路径
- [最短路径] HDU 2066 - 一个人的旅行
- HDU 2066 单源最短路径(Dijkstra算法) 一个人的旅行
- HDU:2066 一个人的旅行(dijkstra算法求最短路径)
- HDU 2066 一个人的旅行 (最短路--Dijkstra算法)
- HDU 2066 一个人的旅行 (Dijkstra算法)
- hdoj-2066 一个人的旅行【最短路径--dijkstra&&spfa&&floyd】
- HDU 2066.一个人的旅行【最短路径(多次Dijsktra算法)】【4月17】
- sizeof和strlen的区别
- ArrayList.asList()函数
- 有2n+1个数,其中有2n个数出现过两次,找出其中只出现一次的数
- 从零开始写javaweb框架笔记7-动手开发web应用
- 【11月英语】——坚持下去总会有所收获
- hdu 2066 一个人的旅行(最短路径 Dijkstra算法)
- LDA算法入门
- 解决ubuntu 15.04不能看avi格式的问题
- C# 的 Socket基本编程例子
- 关于《工业4.0时代,怎样为孩子筹备未来的教育 》的想法
- HDU-3183——A Magic Lamp(RMQ问题+鸽巢原理)
- PS: Going Deeper With Convolutions___CVPR2015
- compareTo()函数,Comparable()函数在TreeSet中的使用
- 使用ScriptX控件进行Web打印IIS服务器始终弹出打印机选择的问题