結果

問題 No.2201 p@$$w0rd
コンテスト
ユーザー 学ぶマン
提出日時 2025-11-19 21:08:28
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 52 ms / 2,000 ms
コード長 822 bytes
コンパイル時間 422 ms
コンパイル使用メモリ 82,800 KB
実行使用メモリ 63,372 KB
最終ジャッジ日時 2025-11-19 21:08:31
合計ジャッジ時間 2,964 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 24
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

from itertools import product
S = input()
N = len(S)
# l, o, a, s いくつあるか?
loas = 'loas'
d = {}

d['l'] = '1'
d['o'] = '0'
d['a'] = '@'
d['s'] = '$'

cnt = 0
for s in S:
    if s in loas:
        cnt += 1

alphas = 'abcdefghijklmnopqrstuvwxyz'
nums = '01'
sign = '@$'
def check(s):
    ei, su, ki = False, False, False
    for ss in s:
        if ss in alphas:
            ei = True
        if ss in nums:
            su = True
        if ss in sign:
            ki = True
    return ei == su == ki == True

ans = 0
for pat in product([0, 1], repeat=cnt):
    res = []
    cur = 0

    for s in S:
        if s in loas:
            if pat[cur] == 1: # 置き換え
                s = d[s]
            cur += 1
        res.append(s)
    
    res = ''.join(res)
    if check(res):
        ans += 1

print(ans)
0