とある世界のタクシーの運賃を計算してほしい。
何もかもだと大変なので、円來市と炭州市という2つの市の範囲だけでよい。
乗り降りする場所はA〜Gだけを考える。
右図の通り。
経路は客が指定する。理不尽な経路(例 : ABABCBA)でも気にしない。
| 市 | 初乗り | 距離加算 |
|---|---|---|
| 円來市 | 995m までは 400円 | 200m 進むごとに 60円加算 |
| 炭州市 | 845m までは 350円 | 200m 進むごとに 50円加算 |
細かいことを書くと。
ということになっている。
例えば。
A→D→F→C
という経路について考える。
この、510 という値を求めるプログラムを書くのが今回の課題。
入力は、乗車位置と降車位置を含む経路を示す文字列。
ADFC
こんな感じ。
見ての通り、区切り文字などはない。
タクシー料金を普通に10進数で出力する。
510
こんな感じ。
「円」とかはつけない。
AGD
のような、隣接していない地点が並んだ経路のことは考慮しなくて良い。
| # | 入力 | 期待 |
|---|---|---|
| 0 |
ADFC
|
510
|
| 1 |
CFDA
|
500
|
| 2 |
AB
|
460
|
| 3 |
BA
|
460
|
| 4 |
CD
|
400
|
| 5 |
DC
|
350
|
| 6 |
BG
|
520
|
| 7 |
GB
|
530
|
| 8 |
FDA
|
450
|
| 9 |
ADF
|
450
|
| 10 |
FDACB
|
750
|
| 11 |
BCADF
|
710
|
| 12 |
EDACB
|
800
|
| 13 |
BCADE
|
810
|
| 14 |
EGFCADE
|
920
|
| 15 |
EDACFGE
|
910
|
| 16 |
ABCDA
|
960
|
| 17 |
ADCBA
|
1000
|
| 18 |
BADCFGB
|
1180
|
| 19 |
BGFCDAB
|
1180
|
| 20 |
CDFC
|
460
|
| 21 |
CFDC
|
450
|
| 22 |
ABGEDA
|
1420
|
| 23 |
ADEGBA
|
1470
|
| 24 |
CFGB
|
640
|
| 25 |
BGFC
|
630
|
| 26 |
ABGEDFC
|
1480
|
| 27 |
CFDEGBA
|
1520
|
| 28 |
CDFGEDABG
|
1770
|
| 29 |
GBADEGFDC
|
1680
|