とある世界のタクシーの運賃を計算してほしい。
何もかもだと大変なので、円來市と炭州市という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
|