ABC解説 Edit

【pythonでABC212を解説】B - Weak Password

問題概要

問題ページ

B - Weak Password
B - Weak Password

問題ページへ移動する

問題文

\(4\) 桁の暗証番号 \(X_1X_2X_3X_4\) が与えられます。
番号は先頭の桁が \(0\) であることもあり得ます。
暗証番号は以下のいずれかの条件をみたすとき弱い暗証番号と呼ばれます。

  • \(4\) 桁とも同じ数字である。
  • \(1\leq i\leq 3\) をみたす任意の整数 \(i\) について、 \(X_{i+1}\) が、 \(X_i\) の次の数字である。
    ただし、 \(0\leq j\leq 8\) について \(j\) の次の数字は \(j+1\) であり、 \(9\) の次の数字は \(0\) である。

与えられた暗証番号が弱い暗証番号ならば Weak を、そうでないならば Strong を出力してください。

制約

  • \(0 \leq X_1, X_2, X_3, X_4 \leq 9\)
  • \(X_1, X_2, X_3, X_4\) は整数である。

問題の考察

ACコード

import sys


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    x = [int(v) for v in list(str(input().rstrip('\n')))]
    if x[0] == x[1] == x[2] == x[3]:
        print("Weak")
    else:
        if (x[0] + 1) % 10 == x[1] and (x[1] + 1) % 10 == x[2] and (x[2] + 1) % 10 == x[3]:
            print("Weak")
        else:
            print("Strong")


if __name__ == '__main__':
    solve()

-ABC解説, Edit
-