問題一覧 > 通常問題

No.18 うーさー暗号

レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 1064
作問者 : なおなお
13 ProblemId : 59 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2018-03-06 22:41:58

問題文

太郎君は暗号に興味があり、新しい暗号方式を考えていました。
そこで大昔に開発されたシーザー暗号を参考にし、
すこし変更することでもうちょっと複雑な暗号方式を作ろうと思いつきました。

シーザー暗号とは、平文(暗号化されていない文)のアルファベットを、
右に \(N\)回 ずらしたもので、たとえば \(N = 1\) の場合、
'\(A\)'は'\(B\)'になり、'\(M\)'は'\(N\)'になり、'\(Z\)'は'\(A\)'になります。

そこで太郎君は、文字ごとに \(N\) の値を変更することを考え、
\(1\)文字目なら \(N = 1\)、そして\(2\)文字目なら \(N = 2\)、…のように、
「\(i\)文字目の文字を\(i\)回右にずらす」ことにしました。
(ずらした結果、文字'\(Z\)'を超える場合はシーザー暗号と同様に文字'\(A\)'へ戻ります)
右にずらすとはアルファベット順の次の文字にするということにします。
そして太郎君は、この新しい暗号方式を「うーさー暗号」と名づけました。

入力に「うーさー暗号」で暗号化された文字列が与えられるので、
これを復号した文字列を出力してください。

入力

S

文字列S が1行(1024文字以内)で与えられます。
文字列S を構成する各文字はアルファベット大文字('A'-'Z')のみで、
復号後の文字列もすべてアルファベット大文字のみで構成されます。

出力

入力文字列を復号した文字列
最後に改行してください。

サンプル

サンプル1
入力
BCD
出力
AAA

サンプル2
入力
ABCDEFGHIJKLMNOPQRSTUVWXYZ
出力
ZZZZZZZZZZZZZZZZZZZZZZZZZZ

サンプル3
入力
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
出力
YXWVUTSRQPONMLKJIHGFEDCBAZYXWVUTSRQPONMLKJIHGFEDCBAZYXWVUTSRQPONMLKJIHGFEDCBAZYXWVUTSRQPONMLKJIHGFEDCBAZ

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。