- 问题描述
某市修建了两条地铁线路。公司为方便乘客乘车,现需要开发一个地铁乘坐指南的小应用软件,该应用软件的其中一个功能是计算出最短地铁乘坐线路的站数。
2.功能描述
该市的2条地铁线路如图所示,其中A为环线,B为东西向线路,线路都是双向的两条线交叉的换乘点用T1、T2表示
地铁线A(环线)经过车站:A1→A2→A3→A4→A5→A6→A7→A8→A9→T1→ A10→A11→A12→A13→T2A14→A15→A16→A17→A18。
地铁线B(直线)经过车站:Bl→B2→B3→B4→B5→T1→B6→B7→B8→B9→B10→ T2→B1l→B12→B13→B14→B15。
【无向图】
用户重新输入 举例如下
输入:
A3 B7
输出:
站数为10
线路为A3→A4→A5→A6→A7→A9→T1→B6→B7
3.设计思路
本项目中A9与A10,A13与A14,B5与 B6,B10与B11不连续,中间有相交点,另有上下两个环,这是设计的难点。本项目要计算出地铁换乘最短的路径,使用图的最短路径广度优先算法即可。
用纯c语言写。