結果
| 問題 |
No.587 七対子
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-03-26 22:14:39 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 136 ms / 2,000 ms |
| コード長 | 1,742 bytes |
| コンパイル時間 | 2,552 ms |
| コンパイル使用メモリ | 80,368 KB |
| 実行使用メモリ | 41,680 KB |
| 最終ジャッジ日時 | 2024-07-19 19:52:33 |
| 合計ジャッジ時間 | 8,142 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 35 |
ソースコード
package net.ipipip0129.yukicoder.no587;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//文字列ソート処理
List<String> piece_list = Arrays.asList(scan.nextLine().split(""));
Collections.sort(piece_list);
String piece = "";
for (String tile : piece_list) piece += tile;
// テキスト終了用 0x03 付与
piece += String.valueOf((char) 0x03);
scan.close();
char missing = 0x00;
boolean isError = false;
while (piece.length() != 0 && !isError){
char c_pair = 0x00;
for (int i = 0; i < piece.length() ; i++){
if (i == 0) c_pair = piece.charAt(i);
else {
if (c_pair != piece.charAt(i)) {
if (i == 1){
if (missing == 0x00) {
missing = c_pair;
}else {
isError = true;
}
} else if(3 <= i){
isError = true;
}
piece = piece.replaceAll(String.valueOf(c_pair), "");
break;
}
}
}
//残テキストが0x03のみなら終了
if (piece.charAt(0) == 0x03) {
break;
}
}
if (isError || missing == 0x00) {
System.out.println("Impossible");
}else {
System.out.println(missing);
}
}
}