結果
問題 | No.238 Mr. K's Another Gift |
ユーザー |
![]() |
提出日時 | 2016-03-21 12:05:04 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 39 ms / 2,000 ms |
コード長 | 787 bytes |
コンパイル時間 | 334 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 11,136 KB |
最終ジャッジ日時 | 2024-10-01 12:19:08 |
合計ジャッジ時間 | 3,620 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 |
ソースコード
#!/usr/bin/env python3 # -*- coding: utf-8 -*- NO_SOLUTION = "-1" def is_palindromic(s): return s == s[::-1] def generate_palindrome(s): s_len = len(s) if is_palindromic(s): mid_idx = s_len // 2 return s[:mid_idx] + s[mid_idx] + s[mid_idx:] for i in range(s_len): j = s_len - 1 - i c_left = s[i] c_right = s[j] if c_left == c_right: continue cand1 = s[:j + 1] + c_left + s[j + 1:] cand2 = s[:i] + c_right + s[i:] for cand in (cand1, cand2): if is_palindromic(cand): return cand return NO_SOLUTION def main(): answer = generate_palindrome(input()) print(answer if answer != NO_SOLUTION else "NA") if __name__ == '__main__': main()