結果

問題 No.150 "良問"(良問とは言っていない
ユーザー rpy3cpprpy3cpp
提出日時 2015-06-09 23:10:42
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 317 ms / 5,000 ms
コード長 709 bytes
コンパイル時間 98 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 11,648 KB
最終ジャッジ日時 2024-10-11 01:55:18
合計ジャッジ時間 5,192 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 20
権限があれば一括ダウンロードができます

ソースコード

diff #

import re
import itertools

def prepare():
    rememo = []
    words_original = [c for c in 'goodproblem']
    for i in range(12):
        for pos in itertools.combinations(range(11), i):
            words = words_original[:]
            for p in pos:
                words[p] = '.'
            pattern = ''.join(words[:4] + ['.*'] + words[4:])
            compiled = re.compile(pattern)
            rememo.append((i, compiled))
    return rememo

def solve(S, rememo):
    for i, compiled in rememo:
        result = compiled.search(S)
        if result:
            return i

if __name__ == '__main__':
    rememo = prepare()
    T = int(input())
    for t in range(T):
        print(solve(input(), rememo))
0