結果

問題 No.238 Mr. K's Another Gift
コンテスト
ユーザー 37zigen
提出日時 2020-03-31 00:33:20
言語 Java
(openjdk 25.0.2)
コンパイル:
javac -encoding UTF8 _filename_
実行:
java -ea -Xmx700m -Xss256M -DONLINE_JUDGE=true _class_
結果
AC  
実行時間 242 ms / 2,000 ms
コード長 1,055 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 2,570 ms
コンパイル使用メモリ 88,116 KB
実行使用メモリ 59,420 KB
最終ジャッジ日時 2026-03-08 01:15:40
合計ジャッジ時間 12,393 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 40
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;


class Main {
	public static void main(String[] args) {
		new Main().run();
	}
	
	boolean palindrome(String str) {
		char[] cs=str.toCharArray();
		int s=0;
		int t=cs.length-1;
		boolean ret=true;
		while(s<=t) {
			ret&=cs[s++]==cs[t--];
		}
		return ret;
	}
	
	
	
	void run() {
		Scanner sc=new Scanner(System.in);
		String str=sc.next();
		char[] cs=str.toCharArray();
		int n=cs.length;
		int s=0;int t=n-1;
		while(s<t&&cs[s]==cs[t]) {
			++s;--t;
		}
		String str1=str.substring(0,n/2)+"a"+str.substring(n/2,n);
		String str2=str.substring(0,s)+str.charAt(t)+str.substring(s,n);
		String str3=str.substring(0,t+1)+str.charAt(s)+str.substring(t+1,n);
		if(palindrome(str1)) {
			System.out.println(str1);
		}else if(palindrome(str2)) {
			System.out.println(str2);
		}else if(palindrome(str3)) {
			System.out.println(str3);
		}else {
			System.out.println("NA");
		}
	}
	
	static void tr(Object... objects) {
		System.out.println(Arrays.deepToString(objects));
	}

}

0