結果

問題 No.2226 Hello, Forgotten World!
ユーザー FromBooskaFromBooska
提出日時 2023-03-05 11:58:29
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 355 ms / 2,000 ms
コード長 1,078 bytes
コンパイル時間 326 ms
コンパイル使用メモリ 82,508 KB
実行使用メモリ 83,792 KB
最終ジャッジ日時 2024-09-18 01:30:58
合計ジャッジ時間 2,143 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 37 ms
52,604 KB
testcase_01 AC 355 ms
83,792 KB
testcase_02 AC 130 ms
76,992 KB
testcase_03 AC 124 ms
76,728 KB
testcase_04 AC 65 ms
76,088 KB
testcase_05 AC 123 ms
77,188 KB
testcase_06 AC 82 ms
76,040 KB
testcase_07 AC 89 ms
76,192 KB
testcase_08 AC 62 ms
75,508 KB
testcase_09 AC 91 ms
76,232 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

# ABC076Cが使えそうなので使う

# 全探索して、残った?にはaを入れればいい
# 当てはまる中の一番最後にあてはめるのがよいかと思ったが実はそうでもない
# たとえばS = ??z???, T = za
# 全探索可能なのだから解の全候補を出してその辞書順最小を出力

T = int(input())
for t in range(T):

    N = int(input())
    S = input()
    T = 'helloworld'
    M = len(T)

    candidates = []
    for i in range(N+1-M):
        test = True
        for j in range(M):
            if S[i+j] != '?' and S[i+j] != T[j]:
                test = False
        #print(test, S[i:i+M], T)
        if test == True:
            temp_ans1 = S[:i] + T + S[i+M:]
            temp_ans2 = ''
            for k in range(N):
                if temp_ans1[k] != '?':
                    temp_ans2 += temp_ans1[k]
                else:
                    temp_ans2 += 'a'
            candidates.append(temp_ans2)

    if len(candidates) == 0:
        print(-1)
    else:
        candidates.sort()
        print(candidates[0])

0