結果
| 問題 | 
                            No.238 Mr. K's Another Gift
                             | 
                    
| コンテスト | |
| ユーザー | 
                             norioc
                         | 
                    
| 提出日時 | 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')
            
            
            
        
            
norioc