虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还可以看美丽的风景……草儿想去很多地方,她想要去东京铁塔看夜景,去威尼斯看电影,去阳明山上看海芋,去纽约纯粹看雪景,去巴黎喝咖啡写信,去北京探望孟姜女……眼看寒假就快到了,这么一大段时间,可不能浪费啊,一定要给自己好好的放个假,可是也不能荒废了训练啊,所以草儿决定在要在最短的时间去一个自己想去的地方!因为草儿的家在一个小镇上,没有火车经过,所以她只能去邻近的城市坐火车(好可怜啊~)。
Input
输入数据有多组,每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有S个,草儿想去的地方有D个;
接着有T行,每行有三个整数a,b,time,表示a,b城市之间的车程是time小时;(1=<(a,b)<=1000;a,b 之间可能有多条路)
接着的第T+1行有S个数,表示和草儿家相连的城市;
接着的第T+2行有D个数,表示草儿想去地方。
Output
输出草儿能去某个喜欢的城市的最短时间。
Sample Input
6 2 3
1 3 5
1 4 7
2 8 12
3 8 4
4 9 12
9 10 2
1 2
8 9 10
Sample Output
9

代码:

我是转载他人的 衔接:http://www.cnblogs.com/heqinghui/archive/2012/11/23/2784297.html

真的很棒  把多源的思路转化为单源的 真的挺好的不得不说 希望自己好好学习

#include <stdio.h>const int N=1002,oo=1000000000;int a[N][N],n,t,s,d;void init(){int x,y,z,i,j;for (i=0;i<N;i++)for (j=0;j<N;j++) a[i][j]=oo;n=0;for (i=1;i<=t;i++){scanf("%d%d%d",&x,&y,&z);if (z<a[x][y]) a[y][x]=a[x][y]=z;if (x>n) n=x;if (y>n) n=y;}n++;for (i=1;i<=s;i++) {scanf("%d",&x); a[0][x]=0;}//相邻点置为0for (i=1;i<=d;i++) {scanf("%d",&x); a[x][n]=0;}//好好体会,相当于改变了终点}void dijkstra(){int min,p,v[N]={0},i,j;for (j=1;j<=n;j++){min=oo;for (i=1;i<=n;i++)if (a[0][i]<min && !v[i]){min=a[0][i];p=i;}v[p]=1;for (i=1;i<=n;i++)if (a[0][p]+a[p][i]<a[0][i])a[0][i]=a[0][p]+a[p][i];}}
int main(){while (scanf("%d%d%d",&t,&s,&d)!=EOF){init();dijkstra();printf("%d\n",a[0][n]);}
return 0;}

C - 一个人的旅行(最短路径)相关推荐

  1. 群智能算法 第4关:蚁群算法 - 商队旅行最短路径计算

    任务描述 本关任务:使用 python 实现蚁群算法,并寻找商队旅行最短路径. 相关知识 为了完成本关任务,你需要掌握:1.蚁群算法原理,2.蚁群算法流程,3.使用蚁群算法解决商队旅行问题. 蚁群算法 ...

  2. 《趣学算法》Chapter 2 贪心算法

    Chapter 2 贪心算法 2.1 人之初,性本贪 2.2 加勒比海盗船--最优装载问题 2.3 阿里巴巴与四十大盗--背包问题 2.4 高级钟点秘书--会议安排 2.5 一场说走就走的旅行--最短 ...

  3. 《趣学算法》目录及签名版

    第1章 算法之美 1  1.1 打开算法之门 2  1.2 妙不可言-算法复杂性 2  1.3 美不胜收-魔鬼序列 9  1.4 灵魂之交-马克思手稿中的数学题 16  1.5 算法学习瓶颈 21  ...

  4. HDU2066 一个人的旅行【最短路径+Floyd算法】

    一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  5. 算法课设第三题:3.Luck 的旅行计划(最短路径算法)

    题目描述 Luck 是一名热爱旅游的羊驼,在即将到来的毕业假期她计划去多个地点旅游,但她还 没有安排旅游顺序,现在,Luck 有 n 个计划中想去的城市,她找到了连接这些城市的 m 条 双向道路,为了 ...

  6. HDU2066一个人的旅行---(多起点多终点最短路径)

    http://acm.hdu.edu.cn/showproblem.php?pid=2066 一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memo ...

  7. 【算法】最短路径--Hdu2066 一个人的旅行

    一个人的旅行 Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^), ...

  8. hdu2066一个人的旅行(多源点多汇点的最短路径问题)

    /*思路:多源点,多会点的最短路径!将最小号-1的节点但最源点,将最大号+1的点当作汇点!将问题转变成从一个源点到一个汇点的最短路径的问题!开始忘记初始化vector了,哇了好多次....坑爹啊 */ ...

  9. usaco Cow Tours 牛的旅行

    Cow Tours 牛的旅行 农民 John 的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场. 但是就目前而言,你能看到至少有两个牧区不连通.这样,农民 John 就有 ...

  10. 《商务旅行》解题报告

    <商务旅行>解题报告 by mps [题目描述] 某首都城市的商人要经常到各城镇去做生意,他们按自己的路线去做,目的是为了更好的节约时间. 假设有N个城镇,首都编号为1,商人从首都出发,其 ...

最新文章

  1. 英特尔反驳质疑:芯片供应充足、10nm量产没问题
  2. 【Scratch】青少年蓝桥杯_每日一题_3.07_画金字塔
  3. Linux之特殊权限(SUID/SGID/SBIT)
  4. 关于搜狐焦点房产的数据分析
  5. Jmeter(一)-精简测试脚本
  6. 【leetcode】423. Reconstruct Original Digits from English
  7. JAVA Swing 事件监听
  8. 【kafka】Found a message larger than the maximum fetch size of this consumer on topic
  9. django之路由分组,路由分发,FBV,CBV,ORM框架
  10. 在asp中实现自动缩放图片(推荐)
  11. c语言中d1的分辨率是,C中的方法分辨率顺序
  12. Java开发文档Swagger的使用详细教程
  13. 高分1、2号卫星原始遥感影像数据
  14. 联想摄像头无法一直运行
  15. 七月份的尾巴是狮子座
  16. unity3D的FingerGestures插件详细说明
  17. 图解|网络究竟是如何运作的?
  18. 什么是HashMap
  19. 互联网金融平台功能分析及微服务架构设计
  20. 微信小程序云开发———云函数

热门文章

  1. Android 端 Rsa加密数据
  2. Red Hat Cormier发布OpenShift.io和容器状态指数
  3. 使用Telnet客户端测试Exchange邮件收发
  4. 【linux】ubuntu更改mysql数据文件路径
  5. Unity3D中脚本的执行顺序和编译顺序
  6. Android项目:通过ant重新打包proguard混淆器jar文件
  7. 如何让您的应用程序进入苹果App Store?(上)
  8. iptables模块功能中文介绍
  9. linux 初步学习
  10. 谈论为什么要写博客的重要性