結果
| 問題 |
No.2226 Hello, Forgotten World!
|
| コンテスト | |
| ユーザー |
maron8676
|
| 提出日時 | 2023-02-24 23:04:56 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,059 bytes |
| コンパイル時間 | 145 ms |
| コンパイル使用メモリ | 82,284 KB |
| 実行使用メモリ | 68,624 KB |
| 最終ジャッジ日時 | 2024-09-13 06:01:06 |
| 合計ジャッジ時間 | 1,194 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 7 WA * 2 |
ソースコード
from collections import defaultdict, deque
from sys import stdin
readline = stdin.readline
def li():
return list(map(int, readline().split()))
T = int(input())
case_list = []
for _ in range(T):
N = int(input())
case_list.append(list(input()))
# 後ろから探して最初に見つけた場所をhelloworldにする
# 残りの?にはaを入れる
hello = list('helloworld')
for case_s in case_list:
if ''.join(case_s).count(''.join(hello)) > 0:
for j in range(len(case_s)):
if case_s[j] == '?':
case_s[j] = 'a'
print(''.join(case_s))
continue
possible = False
for i in range(len(case_s) - 10, -1, -1):
partial_possible = True
for j in range(10):
if case_s[i + j] != '?' and case_s[i + j] != hello[j]:
partial_possible = False
if partial_possible:
# もう1つ前がhなら再チェック
before_replace = False
if i - 1 >= 0 and case_s[i - 1] == 'h':
partial_possible = True
for j in range(10):
if case_s[i + j - 1] != '?' and case_s[i + j - 1] != hello[j]:
partial_possible = False
if partial_possible:
before_replace = True
if before_replace:
for j in range(10):
if case_s[i + j - 1] == '?':
case_s[i + j - 1] = hello[j]
possible = True
for j in range(len(case_s)):
if case_s[j] == '?':
case_s[j] = 'a'
else:
for j in range(10):
if case_s[i + j] == '?':
case_s[i + j] = hello[j]
possible = True
for j in range(len(case_s)):
if case_s[j] == '?':
case_s[j] = 'a'
if possible:
print(''.join(case_s))
break
if not possible:
print(-1)
maron8676