#LQ0210. 地铁换乘方案
地铁换乘方案
Background
真码农题。为何不直接从系统读取线路?
Description
为解决交通难题,某城市修建了若干条交错的地铁线路,线路名及其所属站名如下所示:
线1 苹果园- 古城路- 八角游乐园- 八宝山- 玉泉路- 五棵松- 万寿路- 公主坟- 军事博物馆- 木樨地- 南礼士路- 复兴门- 西单- 天安门西- 天安门东- 王府井- 东单- 建国门- 永安里- 国贸- 大望路- 四惠- 四惠东
线2 西直门- 车公庄- 阜成门- 复兴门- 长椿街- 宣武门- 和平门- 前 门- 崇文门- 北京站- 建国门- 朝阳门- 东四十条- 东直门- 雍和宫- 安定门- 鼓楼大街- 积水潭
线4 公益西桥- 角门西- 马家堡- 北京南站- 陶然亭- 菜市口- 宣武门- 西单- 灵境胡同- 西四- 平安里- 新街口- 西直门- 动物园- 国家图书馆- 魏公村- 人民大学- 海淀黄庄- 中关村- 北京大学东门- 圆明园- 西苑- 北宫门- 安河桥北
线5 天通苑北- 天通苑- 天通苑南- 立水桥- 立水桥南- 北苑路北- 大屯路东- 惠新西街北口- 惠新西街南口- 和平西桥- 和平里北街- 雍和宫- 北新桥- 张自忠路- 东四- 灯市口- 东单- 崇文门- 磁器口- 天坛东门- 蒲黄榆- 刘家窑- 宋家庄
线8 森林公园南门- 奥林匹克公园- 奥体中心- 北土城
线10 巴沟- 苏州街- 海淀黄庄- 知春里- 知春路- 西土城- 牡丹园- 健德门- 北土城- 安贞门- 惠新西街南口- 芍药居- 太阳宫- 三元桥- 亮马桥- 农业展览馆- 团结湖- 呼家楼- 金台夕照- 国贸- 双井- 劲松
线13 西直门- 大钟寺- 知春路- 五道口- 上地- 西二旗- 龙泽- 回龙观 霍营- 立水桥- 北苑- 望京西- 芍药居- 光熙门- 柳芳- 东直门
其中第一行数据为地铁线名,接下来是该线的站名。
当遇到空行时,本线路站名结束。
下一行开始又是一条新线....直到数据结束。
如果多条线拥有同一个站名,表明:这些线间可以在该站换车。
为引导旅客合理利用线路资源,解决交通瓶颈问题,该城市制定了票价策略:
1. 每条线路可以单独购票,票价不等。
2. 允许购买某些两条可换乘的线路的联票。联票价格低于分别购票。
单线票价和联合票价如下所示:
线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
每行数据表示一种票价
线名与票价间用空格分开。如果是联票,线名间用逗号分开。
联票只能包含两条可换乘的线路。
现在的问题是:根据这些已知的数据,计算从A站到B站最小花费和可行的换乘方案。
Format
Input
两个站名,用逗号隔开。
Output
可行的换乘方案和最小花费。
Samples
五棵松,奥体中心
-(线1,线10)-线8 = 565
五棵松,霍营
-线1-(线4,线13) = 440