AtCoder Beginner Contest 232 B 問題 Caesar Cipher
問題
提出解答
問題の概要
長さが等しい英小文字の列 が与えられる. に対して, 以下を1回行う.
- 非負整数 を決める.
- の各文字を 個後ろにずらす.
以上の操作で を に一致できるか? ただし, 以外の英小文字の1個後ろの文字は辞書式の順番であり, の1個後ろは とする.
制約
- は英小文字からなる長さが 以上 以下の列
解法
まず, を選ぶ範囲として, の 通りに制限してもよい. そして, の1文字目を見ることで, として選ぶべき整数が一意に定まる. その整数 に対して, の全ての文字を 個ずらして と一致するかどうかの判定をすればよい.