結果

問題 No.483 マッチ並べ
ユーザー ichibanshiboriichibanshibori
提出日時 2017-02-11 00:35:40
言語 F#
(F# 4.0)
結果
TLE  
実行時間 -
コード長 1,461 bytes
コンパイル時間 10,167 ms
コンパイル使用メモリ 207,720 KB
実行使用メモリ 243,060 KB
最終ジャッジ日時 2024-06-09 07:55:23
合計ジャッジ時間 17,115 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 86 ms
35,072 KB
testcase_01 AC 87 ms
37,372 KB
testcase_02 AC 87 ms
31,360 KB
testcase_03 AC 88 ms
31,612 KB
testcase_04 AC 88 ms
31,616 KB
testcase_05 AC 87 ms
31,740 KB
testcase_06 AC 87 ms
31,484 KB
testcase_07 AC 88 ms
31,488 KB
testcase_08 AC 88 ms
31,616 KB
testcase_09 AC 88 ms
31,616 KB
testcase_10 AC 87 ms
31,488 KB
testcase_11 AC 89 ms
31,612 KB
testcase_12 AC 88 ms
31,488 KB
testcase_13 AC 90 ms
31,600 KB
testcase_14 AC 92 ms
31,728 KB
testcase_15 AC 94 ms
32,384 KB
testcase_16 AC 92 ms
32,256 KB
testcase_17 AC 94 ms
32,640 KB
testcase_18 AC 81 ms
31,104 KB
testcase_19 AC 89 ms
31,488 KB
testcase_20 AC 87 ms
31,360 KB
testcase_21 AC 90 ms
31,360 KB
testcase_22 AC 89 ms
31,744 KB
testcase_23 AC 88 ms
31,488 KB
testcase_24 AC 87 ms
31,872 KB
testcase_25 AC 89 ms
31,616 KB
testcase_26 AC 99 ms
34,560 KB
testcase_27 AC 90 ms
32,000 KB
testcase_28 AC 88 ms
31,744 KB
testcase_29 AC 90 ms
31,744 KB
testcase_30 TLE -
testcase_31 -- -
testcase_32 -- -
testcase_33 -- -
testcase_34 -- -
testcase_35 -- -
testcase_36 -- -
testcase_37 -- -
testcase_38 -- -
testcase_39 -- -
testcase_40 -- -
testcase_41 -- -
testcase_42 -- -
testcase_43 -- -
testcase_44 -- -
testcase_45 -- -
testcase_46 -- -
testcase_47 -- -
testcase_48 -- -
testcase_49 -- -
testcase_50 -- -
testcase_51 -- -
testcase_52 -- -
testcase_53 -- -
testcase_54 -- -
testcase_55 -- -
権限があれば一括ダウンロードができます
コンパイルメッセージ
  復元対象のプロジェクトを決定しています...
  /home/judge/data/code/main.fsproj を復元しました (373 ms)。
MSBuild のバージョン 17.9.6+a4ecab324 (.NET)
  main -> /home/judge/data/code/bin/Release/net8.0/main.dll
  main -> /home/judge/data/code/bin/Release/net8.0/publish/

ソースコード

diff #

let solve rc_lst =
    let rec solve' lst (result: Set<int * int> list) =
        //eprintfn "%A" result

        match lst with
        | [] -> true
        | x::xs ->
            let r0, c0, r1, c1 = x
            let result = match result with
                         | [] -> [set[(r0, c0)]; set[(r1, c1)]]
                         | _ ->
                            result
                            |> List.map (fun s ->
                                match (Set.contains (r0, c0) s), (Set.contains (r1, c1) s) with
                                | true, true -> []
                                | false, true -> [(Set.add (r0, c0) s)]
                                | true, false -> [(Set.add (r1, c1) s)]
                                | false, false -> [(Set.add (r0, c0) s); (Set.add (r1, c1) s)])
                            |> List.concat
            if result = [] then false
            else solve' xs result

    solve' rc_lst []

let () =
    let n = stdin.ReadLine() |> int

    let rc_lst =
        seq {
            for _ in 1..n do
                let r0, c0, r1, c1 = stdin.ReadLine()
                                     |> fun s -> s.Split()
                                     |> Array.map int
                                     |> fun arr -> arr.[0], arr.[1], arr.[2], arr.[3]
                yield (r0, c0, r1, c1) }
        |> List.ofSeq

    solve rc_lst
    |> function | true -> "YES" | false -> "NO"
    |> printfn "%s"
0