AtCoder Regular Contest 019
翻译中…
Problem Statement
翻译中…
私は今 ARC ゲームズという会社の Ancient Royal Coders という、冒険しながら競技プログラミングの知識が身につくロールプレイングゲームをプレーしている真っ最中である。
翻译中…
といってもまだゲームは始まったばかりで、これから最初のダンジョンへ向かうところだ。とりあえず薬草をいくつか購入するために街にあるショップへ行っておこう。
翻译中…
ショップへ到着し薬草を購入しようとして値段を確認すると、これがなんだか奇妙だ。画面には 1Z0 ゴールド と値段が表示されているが、これは本当に $120$ なのだろうか……?
翻译中…
他のアイテムもよく見てみると、なんと一部の数字が似たようなアルファベットに置き換わっているではないか!これでは、値段が $36$ 進数として解釈されてしまい法外な金額を要求されかねない!
翻译中…
なるほどなるほど、ぼったくりを回避するためにはこの奇妙な表記を数字のみからなる正しい表記に戻すためのプログラムを書かないといけないというわけか。序盤からなかなか骨のあるゲームだ。調べてみたところ、置き換わっている文字の種類は以下のようなものがあるらしい。
翻译中…
O→0D→0I→1Z→2S→5B→8
翻译中…
さて、早速そのためのプログラムを書くこととしよう。
翻译中…
Input
翻译中…
入力は以下の形式で標準入力から与えられる。
翻译中…
S
翻译中…
$1$行目には、画面に表示されている値段$S$が書かれている。$S$は$1$文字以上$8$文字以下の文字列で、0,1,2,3,4,5,6,7,8,9,O,D,I,Z,S,Bの$16$種類の文字からなる。$S$の先頭の文字は0,O,Dのいずれでもない。
翻译中…
Output
翻译中…
画面に表示されている値段を、数字のみからなる正しい表記に直したときの金額を $1$ 行に出力せよ。
翻译中…
出力の末尾にも改行をいれること。
翻译中…
样例
Input #1
1Z0
Output #1
120
`Z` を対応する `2` に書き換えると、$120$ ゴールドが正しい金額であることがわかります。
この例からもわかるように、たとえば必ずしもすべての `1` が `I` に書き換わっているとは限りません。
Input #2
4ZD6O
Output #2
42060
`O` と `D` はどちらも `0` に対応しています。
Input #3
BI9Z
Output #3
8192
题目信息
题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。