版权声明:本文为博主原创文章,未经博主同意不得转载。

https://blog.csdn.net/lx417147512/article/details/27235809

***************************************转载请注明出处:http://blog.csdn.net/lttree***************************************

一个人的旅行

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 17559    Accepted Submission(s): 6062

Problem Description
尽管草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然非常喜欢旅行,由于在旅途中 会遇见非常多人(白马王子。^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
Author
Grass
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2066

这道题,TLE N次。

。。

刚開始用Dijkstra   TLE了居然。!

于是乎,想想难道Floyd?

算算时间,发现不正确啊,肯定TLE啊。

傻乎乎各种剪枝什么的。。结果。。。忘记EOF了=  =。

。。

做提前还特地提醒过自己EOF的。。

后来不知怎么的就忘了。

就是求多起点,多目的地的最短路径问题。

将 能到达的起点存入一个数组,将想去的目的地存入还有一个数组。

所以查找的复杂度就是 O(S*D)

我代码是 46MS过的。

。。

/****************************************
*****************************************
*        Author:Tree                    *
*From :http://blog.csdn.net/lttree      *
* Title : 一个人的旅行                 *
*Source: hdu 2066                       *
* Hint : 最短路-Dijkstra                *
*****************************************
****************************************/#include <stdio.h>#define RANGE 1001
#define MAX 0x3f3f3f3fint cost[RANGE][RANGE],d[RANGE];
bool used[RANGE];
int station[RANGE],to[RANGE];
int n;int Min( int a,int b)
{return a<b?a:b;
}void Dijkstra( int s )
{int i,u,v;for( i=1;i<=n;++i ){used[i]=false;d[i]=MAX;}d[s]=0;while( true ){v=-1;for( u=1;u<=n;++u )if( !used[u] && (v==-1 || d[u]<d[v]) )v=u;if( v==-1 ) break;if( d[v]==MAX ) break;used[v]=true;for( u=1;u<=n;++u )d[u]=Min( d[u],d[v]+cost[v][u] );}
}int main()
{int T,S,D,shortest;int i,j,a,b,c;while( scanf("%d%d%d",&T,&S,&D)!=EOF ){n=-1;for( i=1;i<RANGE;++i )for( j=1;j<RANGE;++j )if( i==j )  cost[i][j]=0;else    cost[i][j]=MAX;for( i=0;i<T;++i ){scanf("%d%d%d",&a,&b,&c);// 找共同拥有多少个顶点n=a>n?

a:n; n=b>n?

b:n; if( c<cost[a][b] ) cost[a][b]=cost[b][a]=c; } for( i=0;i<S;++i ) scanf("%d",&station[i]); for( i=0;i<D;++i ) scanf("%d",&to[i]); shortest=MAX; for( i=0;i<S;++i ) { Dijkstra( station[i] ); for( j=0;j<D;++j ) shortest = d[ to[j] ] < shortest?

d[ to[j] ]:shortest; } printf("%d\n",shortest); } return 0; }

转载于:https://www.cnblogs.com/ldxsuanfa/p/10757495.html

ACM-最短路之中的一个个人的旅行——hdu2066相关推荐

  1. 【iOS与EV3混合机器人编程系列之中的一个】iOS要干嘛?EV3能够更酷!

    乐高Mindstorm EV3智能机器人(下面简称EV3) 自从在2013年的CES(Consumer Electronics Show美国消费电子展)上展出之后, 就吸引了全球广大机器人爱好者的眼球 ...

  2. java语言显示运算时间_JAVA语言之ACM日期计算:输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天...

    本文主要向大家介绍了JAVA语言之ACM日期计算:输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. ACM日期 ...

  3. SoC嵌入式软件架构设计之中的一个:系统内存需求评估

    内存是SoC(System on Chip,片上系统)集成设计的重要模块.是SoC中成本比重较大的部分.内存管理的软硬件设计是SoC软件架构设计的重要一环,架构设计师必需要在成本和效率中取得平衡,做到 ...

  4. 使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享

    使用Jquery+EasyUI 进行框架项目开发案例解说之中的一个 员工管理源代码分享 在開始解说之前,我们先来看一下什么是Jquery EasyUI?jQuery EasyUI是一组基于jQuery ...

  5. zookeeper+kafka集群安装之中的一个

    zookeeper+kafka集群安装之中的一个 准备3台虚拟机, 系统是RHEL64服务版. 1) 每台机器配置例如以下: $ cat /etc/hosts ... # zookeeper host ...

  6. The Pragmatic Programmer 读书笔记之中的一个 DRY-Don’t Repeat Youself

     The Pragmatic Programmer读书笔记之中的一个 DRY-Don't Repeat Youself 尽管自己买了非常多软件project方面的书,可是由于时间的问题.一直没有静 ...

  7. 警察与小偷的实现之中的一个client与服务端通信

    警察与小偷的实现之中的一个client与服务端通信 来源于ISCC 2012 破解关第四题 目的是通过逆向police.实现一个thief,可以与police进行通信 实际上就是一个RSA加密通信的样 ...

  8. 【浅墨Unity3D Shader编程】之中的一个 夏威夷篇:游戏场景的创建 amp; 第一个Shader的书写...

    本系列文章由@浅墨_毛星云 出品.转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/40723789 作者:毛星云(浅墨) ...

  9. ACM—最短路—8月14日

    ACM-最短路-8月14日 训练网址: http://acm.hdu.edu.cn/diy/contest_show.php?cid=24386 学习博客 最小生成树与最短路径的区别以及实现方法 - ...

最新文章

  1. 半小时训练亿级规模知识图谱,亚马逊AI开源知识图谱嵌入表示框架DGL-KE
  2. 实时个性化推荐系统简述
  3. 解读NoSQL最新现状和趋势:云NoSQL数据库将成重要增长引擎
  4. 线程演示生产者和消费者的一个例子
  5. 【转】VC 多线程中控制界面控件的几种方法
  6. cf. Lengthening Sticks 组合数学
  7. 谭浩强c语言程序设计笔记讲义,【笔记】谭浩强C语言程序设计--简明笔记
  8. vue 显示led数码字体
  9. 红色警戒95版的地图编辑器Edwin.exe
  10. 描述Map/Reduce框架的清明上河图
  11. 【GlobalMapper精品教程】010:EPSG简介、通过EPSG坐标转换应用实例
  12. Python项目部署的三大神器
  13. numpy.max() , sum()
  14. a到z的ascii码值是多少_a和A对应的ASCII码数值分别是多少啊?
  15. opencv把图片读为matlab,OpenCv和matlab对图像的读取
  16. php json数据条数,PHP中的JSON数据
  17. [1119] Patchouli's Books
  18. java实现图片搜索_图片搜索(java实现)
  19. Kotlin高仿微信-第35篇-支付-二维码收款(二维码)
  20. 三种监控 Kubernetes 集群证书过期方案

热门文章

  1. Dell服务器常用管理命令总结
  2. 文件保存,String与int转换。
  3. 警惕黑客破坏网络安全
  4. 用于 Outlook 2003 的删除重复邮件的插件(加载项)
  5. 创建对象的序列化文件 - SoapFormatter,binaryFormatter以及XmlSerializer序列化文件的比较...
  6. mysql spool csv报错_参数化之利用CSV Data Set Config从文件读取参数并关联变量
  7. Service的理解和使用
  8. Hibernate映射详解(二)--多对一,一对多单向,一对多双向关联映射
  9. 在Mac中安装opencv-python
  10. C++ STL泛型编程——在ACM中的运用