結果
| 問題 | No.24 数当てゲーム | 
| コンテスト | |
| ユーザー |  chike_plus | 
| 提出日時 | 2019-03-26 09:44:47 | 
| 言語 | F# (F# 4.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 71 ms / 5,000 ms | 
| コード長 | 1,098 bytes | 
| コンパイル時間 | 15,044 ms | 
| コンパイル使用メモリ | 185,924 KB | 
| 実行使用メモリ | 30,464 KB | 
| 最終ジャッジ日時 | 2024-10-11 01:15:27 | 
| 合計ジャッジ時間 | 16,392 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 10 | 
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.fsproj を復元しました (606 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/
ソースコード
let ``No.24 数当てゲーム``()=
  let mutable sNo = Set.empty
  let mutable sYs = Set.empty
  let mutable mYs = Map.empty
  let N = stdin.ReadLine() |> int
  let (|YES|NO|) arg = if (string arg) = "YES" then YES else NO
  for i in [1..N] do
    stdin.ReadLine().Split(' ')
    |> fun args ->
      match (args.[4]) with
      | NO -> 
        for i in [0..3] do
          sNo <- sNo.Add( args.[i] |> int )
      | YES-> 
        for i in [0..3] do
          let ct = 1 + if args.[i]|> int |> mYs.ContainsKey 
                    then mYs.[args.[i]|>int] 
                    else 0
          mYs <- mYs.Add( args.[i]|>int, ct )
          match  sNo |> Set.contains  (args.[i] |> int) with
          | true -> ()
          | _    -> sYs <- sYs.Add( args.[i] |> int )
  match sYs.Count, sNo.Count with
  | 0 , _ -> 45 - ( sNo 
             |> Set.toList
             |> List.sum )
             |> stdout.WriteLine 
  | _ , _ ->  Set.difference sYs sNo
              |> Set.toList
              |> List.maxBy (fun n -> mYs.[n] )
              |> stdout.WriteLine
``No.24 数当てゲーム``()
            
            
            
        