結果
| 問題 | No.959 tree and fire |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-04-25 13:34:53 |
| 言語 | Elixir (1.19.5) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 787 bytes |
| 記録 | |
| コンパイル時間 | 800 ms |
| コンパイル使用メモリ | 73,732 KB |
| 実行使用メモリ | 63,668 KB |
| 最終ジャッジ日時 | 2026-06-04 15:52:04 |
| 合計ジャッジ時間 | 21,445 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 48 WA * 6 |
コンパイルメッセージ
warning: missing parentheses on expression following operator "+", you must add parentheses to avoid ambiguities
│
32 │ (if(n <= 2, do: 0, else: (n - 2) * 2) + if(m <= 2, do: 0, else: (m - 2) * 2)) +
│ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
│
└─ Main.exs:32
ソースコード
defmodule Main do
def main do
[n, m] =
IO.read(:line)
|> String.trim()
|> String.split()
|> Enum.map(&String.to_integer/1)
p =
IO.read(:line)
|> String.trim()
|> (fn s ->
case s do
"0" -> 0
"1" -> 1
_ -> s |> String.to_float()
end
end).()
solve({n, m}, p)
|> IO.puts()
end
def solve({n, m}, p) do
case {n, m} do
{1, 1} -> p
{1, _} -> m * :math.pow(p, 2)
{_, 1} -> n * :math.pow(p, 2)
_ -> 4 * :math.pow(p, 3)
end +
:math.pow(p, 4) *
(if(n <= 2, do: 0, else: (n - 2) * 2) + if(m <= 2, do: 0, else: (m - 2) * 2)) +
:math.pow(p, 5) * if n <= 2 || m <= 2, do: 0, else: (n - 2) * (m - 2)
end
end