結果
問題 | No.548 国士無双 |
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
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");} } }