地铁换乘---一道题目,求思路,不求代码

1.地铁换乘

为解决交通难题,某城市修建了若干条交错的地铁线路,线路名及其所属站名如stations.txt所示。

线1

苹果园

....

四惠东

线2

西直门

车公庄

....

建国门

线4

....

其中第一行数据为地铁线名,接下来是该线的站名。

当遇到空行时,本线路站名结束。

下一行开始又是一条新线....直到数据结束。

如果多条线拥有同一个站名,表明:这些线间可以在该站换车。

为引导旅客合理利用线路资源,解决交通瓶颈问题,该城市制定了票价策略:

1. 每条线路可以单独购票,票价不等。

2. 允许购买某些两条可换乘的线路的联票。联票价格低于分别购票。

单线票价和联合票价如 price.txt 所示。

线1 180

.....

线13 114

线1,线2 350

线1,线10 390

.....

每行数据表示一种票价

线名与票价间用空格分开。如果是联票,线名间用逗号分开。

联票只能包含两条可换乘的线路。

现在的问题是:根据这些已知的数据,计算从A站到B站最小花费和可行的换乘方案。

比如,对于本题目给出的示例数据

如果用户输入:

五棵松,奥体中心

程序应该输出:

-(线1,线10)-线8 = 565

如果用户输入:

五棵松,霍营

程序应该输出:

-线1-(线4,线13) = 440

可以看出,用户输入的数据是:起始站,终到站,用逗号分开。

程序输出了购票方案,在括号中的表示联票,短横线(-)用来分开乘车次序。

等号后输出的是该方案的花费数值。

请编程解决上述问题。

注意:

1. 我们测试您的程序时,所用数据与题目中的示例数据不同,但格式完全一样。

2. 当多个方案有相同的最小花费,输出任意一个方案即可。

要求考生把所有函数写在一个文件中。调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。

相关的工程文件不要拷入。

对于编程题目,要求选手给出的解答完全符合ANSI C标准,不能使用c++特性;

不能使用诸如绘图、中断调用等硬件相关或操作系统相关的API。

文件price.txt内容如下:

线1 180

线2 250

线4 160

线5 270

线8 175

线10 226

线13 114

线1,线2 350

线1,线10 390

线1,线5 410

线1,线4 330

线10,线13 310

线2,线5 390

线4,线10 370

线4,线13 260

文件station.txt内容如下:

线1

苹果园

古城路

八角游乐园

八宝山

玉泉路

五棵松

万寿路

公主坟

军事博物馆

木樨地

南礼士路

复兴门

西单

天安门西

天安门东

王府井

东单

建国门

永安里

国贸

大望路

四惠

四惠东

线2

西直门

车公庄

阜成门

复兴门

长椿街

宣武门

和平门

前 门

崇文门

北京站

建国门

朝阳门

东四十条

东直门

雍和宫

安定门

鼓楼大街

积水潭

线4

公益西桥

角门西

马家堡

北京南站

陶然亭

菜市口

宣武门

西单

灵境胡同

西四

平安里

新街口

西直门

动物园

国家图书馆

魏公村

人民大学

海淀黄庄

中关村

北京大学东门

圆明园

西苑

北宫门

安河桥北

线5

天通苑北

天通苑

天通苑南

立水桥

立水桥南

北苑路北

大屯路东

惠新西街北口

惠新西街南口

和平西桥

和平里北街

雍和宫

北新桥

张自忠路

东四

灯市口

东单

崇文门

磁器口

天坛东门

蒲黄榆

刘家窑

宋家庄

线8

森林公园南门

奥林匹克公园

奥体中心

北土城

线10

巴沟

苏州街

海淀黄庄

知春里

知春路

西土城

牡丹园

健德门

北土城

安贞门

惠新西街南口

芍药居

太阳宫

三元桥

亮马桥

农业展览馆

团结湖

呼家楼

金台夕照

国贸

双井

劲松

线13

西直门

大钟寺

知春路

五道口

上地

西二旗

龙泽

回龙观

霍营

立水桥

北苑

望京西

芍药居

光熙门

柳芳

东直门

------解决方案--------------------

用一张票能坐到的站点之间连边,建图。然后做最短路。

java 地铁换乘算法,地铁换乘-一道题目,求思路,不求代码,该怎么处理相关推荐

  1. java中关于输出三角形图案类型题目的思路

    java中关于输出三角形图案类型题目的思路 初学java,在学到循环相关的知识的时候,老师总会拿出一些图形打印相关的题目来让大家来练习,其中比较经典的就是如下类似题目. 这种图形类的题目,只要能做出其 ...

  2. Java递归子集算法(树状结构)的逻辑和实例代码实现 @杨章隐

    Java递归算法(树状结构)的逻辑和实例 1.应用场景: 递归算法作为一个经常使用的算法,无论在API开发还是计算文件夹都是比较常用的, 在api开发过程中我们经常遇到需要返回树状结构的json 例如 ...

  3. 学员成果分享:影像组学中stacking算法做后融合的整体思路(附代码,有平台的赶紧动手)

    https://mp.weixin.qq.com/s?__biz=MzkxMTIxNzAwNg==&mid=2247486839&idx=1&sn=9413985f4986c7 ...

  4. java地铁最短距离_地铁线路最短路径问题

    项目介绍 主要功能 提供一副地铁线路图,计算指定两站之间最短(最少经过站数)乘车路线:输出指定地铁线路的所有站点.以北京地铁为例,地铁线路信息保存在data.txt中,格式如下: 地铁线路总数 线路名 ...

  5. java 地铁线路_地铁线路管理系统

    合作人:李琼 目标:设计一套地铁开发系统,输入任意两个地方,给出最短路线 方案设计: 第一步做到点击地铁线路显示地铁站点 第二步做到输入起始站,终点站,输出最短路线 源代码: package Metr ...

  6. 生活中的算法---公交换乘

    公交线路1:A->B 公交线路2:C->D 公交线路3:B->C 查询1:A站到B站乘什么线路? 遍历三条公交线路,哪几条选录存在A站?遍历结果,公交线路1. 遍历公交线路1,是否存 ...

  7. 题目 - 北京地铁 描述 北京地铁涨价了,现在的地铁票价计算方法如下: 6公里内 3元 (包括6公里) 6-12 公里 4元 (不包括6公里,包括12公里) 12-32 公里 每10公里加1元

    题目 - 北京地铁 描述 北京地铁涨价了,现在的地铁票价计算方法如下: 6公里内 3元 (包括6公里) 6-12 公里 4元 (不包括6公里,包括12公里) 12-32 公里 每10公里加1元(不包括 ...

  8. 公交车路线查询系统后台数据库设计--换乘算法改进与优化

    转:http://www.cnblogs.com/lucc/archive/2009/03/03/1401863.html 在<查询算法>一文中已经实现了换乘算法,但是,使用存储过程Inq ...

  9. 综合算法04—非排序换乘算法

    一.算法描述 问题描述:已知站点,线路,线路-站点数据,求指定点之间的: 1.直达线路 2.一次换乘线路 3.两次换乘线路 模块1:直达线路算法 Step1:S为过起点A的线路集合,T为过终点B的 ...

最新文章

  1. Maven学习(八)继承和聚合
  2. HashSet的存储方式
  3. 无差异曲线matlab算法,引入Matlab提高经济类线性代数应用能力
  4. 腾讯视频会员宣布涨价:一年253元 你还续费吗?
  5. timus 1260. Nudnik Photographer 动态规划
  6. 笔记:网络管理与检测命令
  7. 字符串转换成整数 php,php如何将字符串转为整数
  8. Linux Enterprise Cluster选译
  9. Chrome启动后打开第一个网页很慢的解决方案
  10. Windows Server 2008 活动目录备份的几种方法
  11. 线性代数知识荟萃(3)——行列式
  12. QImage 图像格式小结
  13. Arrays工具类的常用方法
  14. VC++中的Win32 Application和Win32 Console Application区别
  15. ug10.0安装好了怎么找到
  16. secureCRT 7.3.6 winxp版本
  17. 基金会总线协议分析(FF协议)
  18. 开源信息安全管理平台OSSIM入门-李晨光-专题视频课程
  19. C# winform cefsharp 截取网页元素图片
  20. C语言练习——提高篇

热门文章

  1. 如何与 Dapr 集成打造 Apache APISIX 网关控制器
  2. 最全word排版技巧汇总,千万不要错过!
  3. python 节假日_Python区分工作日、周末、法定假日的方法
  4. 如何实现一款毫秒级实时数据分析引擎
  5. CFT学习资源与工具上新
  6. 数据可视化,是如何扭曲我们对现实的感知?
  7. 计算机辅助教育的期末考试,计算机辅助教育.pptx
  8. MySQL数据库的SQLyog如何配置
  9. php数组 减一,PHP减去数组值
  10. Android视频教学下载大全(VeryCD上)