結果

問題 No.2226 Hello, Forgotten World!
ユーザー ああいい
提出日時 2023-02-25 17:16:42
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 114 ms / 2,000 ms
コード長 1,433 bytes
コンパイル時間 206 ms
コンパイル使用メモリ 82,572 KB
実行使用メモリ 76,160 KB
最終ジャッジ日時 2024-09-13 13:22:06
合計ジャッジ時間 1,612 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 9
権限があれば一括ダウンロードができます

ソースコード

diff #

T = int(input())
U = "helloworld"

for _ in range(T):
    N = int(input())
    S = input()

    l = []
    for i in  range(N - 10 + 1):
        flag = True
        for j in range(10):
            if S[i + j] == "?" or S[i + j] == U[j]:
                pass
            else:
                flag = False
                break
        if flag:
            l.append(i)
    while len(l) > 1:
        i = l.pop()
        j = l.pop()
        flag = True
        for k in range(N):
            if i <= k <= i + 9:
                c = U[k - i]
            else:
                if S[k] == "?":
                    c = "a"
                else:
                    c = S[k]
            if j <= k <= j + 9:
                d = U[k-j]
            else:
                if S[k] == "?":
                    d = "a"
                else:
                    d = S[k]
            if c < d:
                l.append(i)
                flag = False
                break
            elif c > d:
                l.append(j)
                flag = False
                break
        if flag:
            l.append(i)
    if len(l) == 0:
        print(-1)
        continue
    i = l[0]
    ans = []
    for k in range(N):
        if i <= k <= i + 9:
            ans.append(U[k-i])
        else:
            if S[k] == "?":
                ans.append("a")
            else:
                ans.append(S[k])
    print("".join(ans))
            
        
0