結果
問題 | No.238 Mr. K's Another Gift |
ユーザー |
![]() |
提出日時 | 2025-04-09 02:59:01 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 75 ms / 2,000 ms |
コード長 | 939 bytes |
コンパイル時間 | 335 ms |
コンパイル使用メモリ | 82,592 KB |
実行使用メモリ | 69,316 KB |
最終ジャッジ日時 | 2025-04-09 02:59:06 |
合計ジャッジ時間 | 4,820 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 |
ソースコード
def is_palindrome(s, lo, hi) -> bool: while lo < hi: if s[lo] != s[hi]: return False lo += 1 hi -= 1 return True S = input() def solve(): lo = 0 hi = len(S)-1 while lo < hi: if S[lo] != S[hi]: if is_palindrome(S, lo+1, hi): t = list(S) t.insert(hi+1, S[lo]) # print(f'lo {t=}') if is_palindrome(t, 0, len(t)-1): return ''.join(t) if is_palindrome(S, lo, hi-1): t = list(S) t.insert(lo, S[hi]) # print(f'hi {t=}') if is_palindrome(t, 0, len(t)-1): return ''.join(t) return None lo += 1 hi -= 1 m = len(S) // 2 t = list(S) t.insert(m, S[m]) return ''.join(t) ans = solve() if ans is not None: print(ans) else: print('NA')