結果
| 問題 |
No.548 国士無双
|
| ユーザー |
r6eve
|
| 提出日時 | 2017-08-17 19:44:58 |
| 言語 | OCaml (5.2.1) |
| 結果 |
WA
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 760 bytes |
| コンパイル時間 | 392 ms |
| コンパイル使用メモリ | 20,860 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-10-09 00:26:45 |
| 合計ジャッジ時間 | 1,152 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 23 WA * 1 |
ソースコード
let () =
let t = Array.make 13 0 in
let s = read_line () in
let rec doit i =
if i = 13 then true
else
let x = Char.code s.[i] - Char.code 'a' in
if x < 0 || x > 12 then false
else begin
t.(x) <- t.(x) + 1;
doit (i + 1)
end in
if not (doit 0) then print_endline "Impossible"
else
let m = Array.fold_left max 0 t in
if m > 2 then print_endline "Impossible"
else if m = 2 then begin
let rec doit i =
if i = 13 then assert false
else if t.(i) = 0 then i + Char.code 'a' |> Char.chr |> Printf.printf "%c\n"
else doit (i + 1) in
doit 0
end else begin
for i = 0 to 12 do
i + Char.code 'a' |> Char.chr |> Printf.printf "%c\n"
done
end
r6eve