【問題A09】:捷運票價計算系統 [回前頁]
首都捷運公司打算設計一套系統用於依搭乘捷運的距離來計算票價,捷運各路線依英文字母A、B、..依序命名,每一路線各站則以流水號命名從1號依序下去,如A1代表A捷運路線的第一站。各捷運路線間可能有交錯點(表B3=C4則表示三路線的交錯,以此類推),該交錯點允許乘客不必出站直接可轉乘另一路線的捷運,所乘坐的里程則累加兩條或以上捷運路線之乘坐距離以計算票價。票價計算基準為前5公里一律20元,以後每3公里加5元,如下表。
乘坐里程(KM) |
0~5.0 |
5.1~8.0 |
8.1~11.0 |
11.1~14.0 |
14.1~17.0 |
以下類推 |
票價 |
20 |
25 |
30 |
35 |
40 |
以下類推 |
已知各捷運站與鄰站間的距離、各捷運路線轉乘站、乘客搭乘起站,試求從該起站至所有其他捷運站所需的最少票價。
輸入:
第一行整數,捷運路線數 N
第二行至N+1行為捷運A、B、..路線從第一站至最末站各站之間距的浮點數值列,中間以逗號區隔,單位是公里。
第N+2行為各交錯點字串列,中間以逗號區隔。
第N+3行為乘客搭乘起站的站名。
輸出:
每一行輸出站各與從起站到此站之最短距離與票價,中間以逗號區隔。
【輸入檔內容】
2
1.2,1.9,2.4,2.1,1.1,1.3,0.9
0.8,1.1,1.7,1.0,1.9,1.9,1.5,2.0
A4=B5
B2
【輸出檔內容】
A1,9.3,30
A2,8.1,30
A3,6.2,25
A4,3.8,20
A5,5.9,25
A6,7.0,25
A7,8.3,30
A8,9.2,30
B1,0.8,20
B2,0.0,20
B3,1.1,20
B4,2.8,20
B5,3.8,20
B6,5.7,25
B7,7.6,25
B8,9.1,30
B9,11.1,35