結果
| 問題 |
No.52 よくある文字列の問題
|
| コンテスト | |
| ユーザー |
chiho_miyako
|
| 提出日時 | 2015-04-19 00:28:43 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 145 ms / 5,000 ms |
| コード長 | 1,241 bytes |
| コンパイル時間 | 2,274 ms |
| コンパイル使用メモリ | 80,220 KB |
| 実行使用メモリ | 54,432 KB |
| 最終ジャッジ日時 | 2024-09-22 05:20:52 |
| 合計ジャッジ時間 | 4,477 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 11 |
ソースコード
import java.util.*;
import java.util.regex.*;
public class Main {
public static void main(String[] args) throws Exception {
Scanner koko = new Scanner(System.in);
String s = koko.next();
int n = s.length();
int keta = (int)Math.pow(2,n-1);
char[][] answe = new char[keta][n];
String[] answer = new String[keta];
for(int i=0; i<keta; i++){
String a = Integer.toBinaryString(i);
while(a.length()<n-1){
a="0"+a;
}
int sentou = 0;
int matsubi = n-1;
for(int j=0; j<n-1; j++){
if(a.charAt(j)=='0'){
answe[i][j]=s.charAt(sentou);
sentou++;
}else{
answe[i][j]=s.charAt(matsubi);
matsubi--;
}
answe[i][n-1]=s.charAt(sentou);
answer[i]=String.valueOf(answe[i]);
}
}
Arrays.sort(answer);
int ans=1;
for(int i=1; i<keta; i++){
if(answer[i].equals(answer[i-1])){
}else{
ans++;
}
}
System.out.println(ans);
}
}
chiho_miyako