結果
問題 |
No.273 回文分解
|
ユーザー |
![]() |
提出日時 | 2015-09-16 13:17:31 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 123 ms / 2,000 ms |
コード長 | 917 bytes |
コンパイル時間 | 2,081 ms |
コンパイル使用メモリ | 77,268 KB |
実行使用メモリ | 41,840 KB |
最終ジャッジ日時 | 2024-06-25 13:29:34 |
合計ジャッジ時間 | 7,221 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 32 |
ソースコード
import java.util.*; public class Main{ public static void main(String[] args){ // TODO 自動生成されたメソッド・スタブ Scanner sc = new Scanner(System.in); String input = sc.next(); int ans = 1; int n = input.length(); for(int i=0;i<n;i++){ for(int j=1;;j++){ int left = i-j; int right = i+j; if(left<0 || right >=n ){ break; } if(input.charAt(left)!=input.charAt(right)){ break; } if(left==0 && right==n-1) break; ans=Math.max(ans, right-left+1); } if(i!=n-1){ if(input.charAt(i)!=input.charAt(i+1)) continue; for(int j=0;;j++){ int left = i-j; int right = i+j+1; if(left<0 || right >=n ){ break; } if(input.charAt(left)!=input.charAt(right)){ break; } if(left==0 && right==n-1) break; ans=Math.max(ans, right-left+1); } } } System.out.println(ans); } }