結果

問題 No.548 国士無双
ユーザー Tsukasa_Type
提出日時 2018-02-10 23:29:48
言語 Java
(openjdk 23)
結果
AC  
実行時間 124 ms / 2,000 ms
コード長 963 bytes
コンパイル時間 1,855 ms
コンパイル使用メモリ 77,468 KB
実行使用メモリ 54,244 KB
最終ジャッジ日時 2024-09-17 14:45:04
合計ジャッジ時間 5,465 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 24
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.*;

public class Main {
	static Scanner sc = new Scanner(System.in);
	public static void main(String[] args) {
		int[] ar = new int[13];
		String s = sc.next();
		for (int i=0; i<13; i++) {
			char c = s.charAt(i);
			if (c>=97 && c<=109) {ar[c-97]++;}
		}
		
		//可能なパターン
		//・0が1個、1が11個、2が1個のとき(0の文字を出力)
		//・1が13個(全種辞書順に出力)
		//それ以外の場合
		//・3が1個混じっているなど(Impossibleを出力)
		
		int zero = 0;
		int zero_num = 0;
		int one = 0;
		int two = 0;
		
		for (int i=0; i<13; i++) {
			if (ar[i]==0) {
				zero++;
				zero_num = i;
			}
			else if (ar[i]==1) {one++;}
			else if (ar[i]==2) {two++;}
		}
		
		if (zero==1 && one==11 && two==1) {System.out.println((char)(zero_num+97));}
		else if (one==13) {
			for (int i=0; i<13; i++) {
				System.out.println((char)(i+97));
			}
		}
		else {System.out.println("Impossible");}
	}
}
0