結果

問題 No.133 カードゲーム
ユーザー milanis48663220
提出日時 2019-10-27 14:09:32
言語 Elixir
(1.18.1)
結果
AC  
実行時間 562 ms / 5,000 ms
コード長 1,419 bytes
コンパイル時間 1,207 ms
コンパイル使用メモリ 64,456 KB
実行使用メモリ 55,120 KB
最終ジャッジ日時 2024-12-31 03:31:23
合計ジャッジ時間 15,259 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 19
権限があれば一括ダウンロードができます
コンパイルメッセージ
    warning: Enum.chunk/2 is deprecated. Use Enum.chunk_every/2 instead
    │
 27 │ 			true -> Enum.chunk(ans, n_remain)
    │                 ~
    │
    └─ Main.exs:27:17: Comb.permutations/3

ソースコード

diff #
プレゼンテーションモードにする

defmodule Int do
def fac(n, m) do
ans = []
cond do
m*m > n -> ans ++ [n]
rem(n, m) == 0 -> ans ++ [m] ++ (div(n, m) |> fac(m))
true -> ans ++ fac(n, m+1)
end
end
end
defmodule Comb do
def permutations(n, n_remain, used) do
ans =
for x <- 1..n do
if Enum.at(used, x-1) == false do
ps = permutations(n, n_remain-1, List.replace_at(used, x-1, true))
case n_remain <= 1 do
true -> [x]
_ -> Enum.map(ps, fn p -> List.insert_at(p, -1, x) end)
end
end
end
|> Enum.filter(fn p -> p != nil end)
|> List.flatten
case n_remain > 1 do
true -> Enum.chunk(ans, n_remain)
_ -> [ans]
end
end
end
defmodule Prob do
def judge(a, b, pa, pb) do
result =
for x <- 1..length(a) do
Enum.at(a, Enum.at(pa, x-1)-1) > Enum.at(b, Enum.at(pb, x-1)-1)
end
length(Enum.filter(result, fn r -> r == true end))*2 > length(a)
end
end
defmodule Main do
def main do
n = IO.gets("") |> String.trim() |> String.to_integer
used = for _ <- 1..n, do: false
p = Comb.permutations(n, n, used)
q = p
a = IO.gets("") |> String.trim() |> String.split(" ") |> Enum.map(fn s -> String.to_integer(s) end)
b = IO.gets("") |> String.trim() |> String.split(" ") |> Enum.map(fn s -> String.to_integer(s) end)
result = for pa <- p, pb <- q, do: Prob.judge(a, b, pa, pb)
ans = length(Enum.filter(result, fn r -> r == true end))/length(result)
IO.inspect(ans)
end
end
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0