結果
| 問題 |
No.996 Phnom Penh
|
| コンテスト | |
| ユーザー |
lam6er
|
| 提出日時 | 2025-04-15 21:14:09 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
MLE
|
| 実行時間 | - |
| コード長 | 1,048 bytes |
| コンパイル時間 | 198 ms |
| コンパイル使用メモリ | 82,072 KB |
| 実行使用メモリ | 301,164 KB |
| 最終ジャッジ日時 | 2025-04-15 21:20:42 |
| 合計ジャッジ時間 | 5,494 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 21 MLE * 1 -- * 3 |
ソースコード
def apply_op1(s):
new_s = []
i = 0
count = 0
n = len(s)
while i <= n - 5:
if s[i:i+5] == 'phnom':
new_s.append('penh')
count += 1
i += 5
else:
new_s.append(s[i])
i += 1
# Add the remaining characters
new_s.append(s[i:])
return ''.join(new_s), count
def apply_op2(s):
# Remove all 'h's
s_no_h = s.replace('h', '')
# Replace all 'e's with 'h's
s_new = s_no_h.replace('e', 'h')
return s_new
s = input().strip()
count = 0
while True:
# Apply operation 1 as many times as possible
op1_applied = False
new_s, op1_count = apply_op1(s)
if op1_count > 0:
count += op1_count
s = new_s
op1_applied = True
if op1_applied:
continue # Try operation 1 again if applied
# Apply operation 2 once if possible
new_s_op2 = apply_op2(s)
if new_s_op2 != s:
count += 1
s = new_s_op2
else:
break # No more operations can be applied
print(count)
lam6er