結果
| 問題 | 
                            No.279 木の数え上げ
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2020-08-02 17:07:59 | 
| 言語 | OCaml  (5.2.1)  | 
                    
| 結果 | 
                             
                                MLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 604 bytes | 
| コンパイル時間 | 360 ms | 
| コンパイル使用メモリ | 21,572 KB | 
| 実行使用メモリ | 114,852 KB | 
| 最終ジャッジ日時 | 2024-10-09 01:53:14 | 
| 合計ジャッジ時間 | 4,071 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 10 MLE * 1 -- * 10 | 
ソースコード
let () =
  let rec charlist_of_string str n i =
    if i = n then []
    else str.[i] :: charlist_of_string str n (i+1) in
  let rec search lst target = match lst with
    | [] -> raise Not_found
    | h :: t -> if h = target then t else h :: search t target in
  Scanf.scanf "%s\n" @@ fun s ->
  let lst = ref (charlist_of_string s (String.length s) 0) in
  let flag = ref true in
  let ans = ref 0 in
  while !flag do
    try 
      let l = search (search (search (search !lst 't') 'r') 'e') 'e' in
      lst := l; ans := !ans + 1
    with Not_found -> flag := false
  done;
  Printf.printf "%d\n" !ans