hdu 2066 一个人的旅行(最短路)
来源:互联网 发布:域名后缀产生 编辑:程序博客网 时间:2024/06/05 18:14
题目:
链接:点击打开链接
题意:
思路:
对每个起点调用dij算法后,每个终点的最短路长度都已经出来了。对于每个起点,从这些终点的最短路中选出最最短路就可以了。 然后在比较每个终点,即求得最小值。
代码:
#include <iostream>#include <cstdio>#include <cstring>using namespace std;#define INF 100000000const int N = 2000;int t,s,d;int a,b,time;int map[N][N];int from[N],to[N];int dis[N];int dijkstra(int a){ int vis[N]; int minn; memset(vis,0,sizeof(vis)); for(int i=1; i<=N; i++) { dis[i] = map[a][i]; } dis[a] = 0; vis[a] = 1; for(int i=1; i<N; i++) { int x; minn = INF; for(int y=1; y<N; y++) { if(!vis[y] && dis[y] < minn) { minn = dis[x=y]; } } vis[x] = 1; if(minn == INF) break; for(int y=1; y<=N; y++) { if(!vis[y] && dis[y] > dis[x] + map[x][y]) dis[y] = dis[x] + map[x][y]; } } minn = INF; for(int i=1; i<=d; i++) { if(minn > dis[to[i]]) { minn = dis[to[i]]; } } return minn;}int main(){ //freopen("input.txt","r",stdin); while(scanf("%d%d%d",&t,&s,&d) != EOF) { for(int i=0; i<N; i++) { for(int j=0; j<=N; j++) map[i][j] = INF; } for(int i=1; i<=t; i++) { scanf("%d%d%d",&a,&b,&time); if(map[a][b] > time) map[a][b] = map[b][a] = time; } for(int i=1; i<=s; i++) scanf("%d",&from[i]); for(int i=1; i<=d; i++) scanf("%d",&to[i]); int minTime = INF; for(int i=1; i<=s; i++) { if(minTime > dijkstra(from[i])) minTime = dijkstra(from[i]); } printf("%d\n",minTime); } return 0;}
-----------------------------------------------------------
战斗,从不退缩;奋斗,永不停歇~~~~~~~~~~
0 0
- HDU-2066 一个人的旅行 最短路
- hdu 2066 一个人的旅行(最短路)
- hdu 2066 一个人的旅行(最短路)
- hdu 2066 一个人的旅行(最短路)
- HDU - 2066- 一个人的旅行【最短路】
- HDU 2066 一个人的旅行(最短路的简单题)
- 【hdu 2066】 一个人的旅行 ( 最短路 Dijkstra)
- hdu 2066 一个人的旅行(Dijkstra求最短路问题)
- hdu 2066 一个人的旅行(最短路问题)
- HDU 2066 一个人的旅行(最短路&Dijkstra)
- HDU 2066 一个人的旅行 最短路问题
- HDU--杭电--2066--一个人的旅行--最短路
- HDU 2066 一个人的旅行(最短路)
- HDU 2066一个人的旅行(dijk最短路)
- hdu 2066 一个人的旅行_最短路
- HDU-2066 一个人的旅行(图论,Floyd ,最短路)
- HDU 2066-一个人的旅行(最短路Dijkstra)
- hdu 2066 一个人的旅行(Dijkstra求最短路)
- eclipse4.2集成github
- 阿士大夫阿士大夫
- 2-2. 然后是几点(15)
- python 使用sqlite3
- postgres 之 initdb 源码分析 四
- hdu 2066 一个人的旅行(最短路)
- Mysql charset Truncation vulnerability
- 2-3. 逆序的三位数(10)
- Java基础回顾_常用类_String常用1
- PAT Advanced Level 1065
- U盘引导安装64位CentOS-6.4x-86_64
- 印刷电路板的抗干扰设计原则
- 2-4. BCD解密(10)
- Java基础回顾_常用类_String常用2