結果

問題 No.870 無敵囲い
ユーザー gemmaro
提出日時 2020-04-19 17:10:50
言語 Elixir
(1.18.1)
結果
TLE  
実行時間 -
コード長 737 bytes
コンパイル時間 4,080 ms
コンパイル使用メモリ 60,384 KB
実行使用メモリ 54,412 KB
最終ジャッジ日時 2024-06-29 06:40:26
合計ジャッジ時間 16,239 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample TLE * 3
other TLE * 18
権限があれば一括ダウンロードができます

ソースコード

diff #

defmodule Main do
  def main do
    1..(IO.read(:line)
        |> String.trim()
        |> String.to_integer())
    |> Enum.map(fn _ ->
      IO.read(:line)
      |> String.trim()
      |> String.split()
      |> Enum.map(&String.to_integer/1)
    end)
    |> solve
    |> IO.puts()
  end

  def solve(x) do
    solve_rec(x, {{2, 8}, {3, 9}, {7, 9}})
  end

  def solve_rec([], {a, b, c}) do
    cond do
      a == {5, 8} && b == {4, 8} && c == {6, 8} -> "YES"
      true -> "NO"
    end
  end

  def solve_rec([[x1, y1, x2, y2] | t], {a, b, c}) do
    solve_rec(
      t,
      case {x1, y1} do
        ^a -> {{x2, y2}, b, c}
        ^b -> {a, {x2, y2}, c}
        ^c -> {a, b, {x2, y2}}
        _ -> {a, b, c}
      end
    )
  end
end
0