結果
| 問題 | 
                            No.486 3 Straight Win(3連勝)
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2020-06-16 01:23:17 | 
| 言語 | OCaml  (5.2.1)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 3 ms / 2,000 ms | 
| コード長 | 467 bytes | 
| コンパイル時間 | 307 ms | 
| コンパイル使用メモリ | 21,572 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-10-09 01:20:29 | 
| 合計ジャッジ時間 | 1,192 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 28 | 
ソースコード
Scanf.scanf "%s" (fun s ->
    let n = String.length s in
    let rec loop i prev =
        if i = n then "NA" else
            let prev = if s.[i] = 'O' then (
                if prev >= 0 then prev + 1 else 1
            ) else (
                if prev <= 0 then prev - 1 else -1
            )
            in
            if prev = 3 then "East" else
            if prev = -3 then "West" else
                loop (i + 1) prev
    in
    loop 0 0 |> print_endline
)