結果
| 問題 |
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 |
ソースコード
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)
学ぶマン