結果
問題 | No.179 塗り分け |
ユーザー | iwot |
提出日時 | 2020-06-21 22:05:03 |
言語 | F# (F# 4.0) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,299 bytes |
コンパイル時間 | 5,577 ms |
コンパイル使用メモリ | 161,192 KB |
最終ジャッジ日時 | 2024-04-29 19:38:57 |
合計ジャッジ時間 | 6,307 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.fsproj を復元しました (225 ms)。 MSBuild のバージョン 17.9.6+a4ecab324 (.NET) /home/judge/data/code/Main.fs(12,25): error FS0058: 予期しない構文またはインデントが正しくない可能性: このトークンは位置 (11:52) から開始されるコンテキストのオフサイドになります。このトークンのインデントを増やしてみてください。非準拠のインデントを引き続き使用するには、'--strict-indent-' フラグをコンパイラに渡すか、言語バージョンを F# 7 に設定してください。 [/home/judge/data/code/main.fsproj] /home/judge/data/code/Main.fs(12,25): error FS0010: この場所またはその前にある構造化コンストラクトが不完全です 式内 [/home/judge/data/code/main.fsproj]
ソースコード
let [| H; W |] = stdin.ReadLine().Split(' ') |> Array.map int let mutable sample = None let S = [ for i in 0 .. H-1 do let s = stdin.ReadLine().Trim() yield [ for j in 0 .. s.Length - 1 do if s.[j] = '#' && sample.IsNone then sample <- Some (i, j) yield if s.[j] = '#' then 1 else 0 ] ] let isAll0 ss = Array.map (fun s -> Array.sum s) ss |> Array.sum |> ((=) 0) let list2array (ss:int list list) : int [] [] = [| for i in 0 .. ss.Length - 1 do yield List.toArray ss.[i] |] if sample.IsNone then printfn "NO" else let h0 = fst sample.Value let w0 = snd sample.Value let result = seq { for dh in 0-h0 .. H-1-h0 do for dw in 0-w0 .. W-1-w0 do if dh <> 0 || dw <> 0 then let check = list2array S for h in 0 .. H-1 do for w in 0 .. W-1 do if h+dh >= 0 && h+dh < H && w+dw >= 0 && w+dw < W && check.[h].[w] = 1 && check.[h+dh].[w+dw] = 1 then check.[h].[w] <- 0 check.[h+dh].[w+dw] <- 0 yield if isAll0 check then "YES" else "NO" } match Seq.tryFind ((=) "YES") result with | Some(_) -> printfn "YES" | _ -> printfn "NO"