結果
| 問題 | 
                            No.279 木の数え上げ
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2019-10-21 12:05:37 | 
| 言語 | Rust  (1.83.0 + proconio)  | 
                    
| 結果 | 
                             
                                TLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,557 bytes | 
| コンパイル時間 | 10,874 ms | 
| コンパイル使用メモリ | 383,560 KB | 
| 実行使用メモリ | 13,756 KB | 
| 最終ジャッジ日時 | 2024-07-02 17:41:55 | 
| 合計ジャッジ時間 | 14,898 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 10 TLE * 1 -- * 10 | 
ソースコード
fn getline() -> String {
    let mut __ret = String::new();
    std::io::stdin().read_line(&mut __ret).ok();
    return __ret;
}
fn main() {
    let line = getline();
    let s = line.trim();
    let mut char_use_table: Vec<bool> = Vec::new();     // 使用済->true 未使用->false
    for _ in 0..s.len() {
        char_use_table.push(false);
    }
    let mut tree_chars: Vec<char> = Vec::new();
    tree_chars.push('t');
    tree_chars.push('r');
    tree_chars.push('e');
    tree_chars.push('e');
    let mut tree_chars_index: usize = 0;
    let mut valid_chars: Vec<char> = Vec::new();
    for c in s.chars().into_iter() {
        if c == 't' || c == 'r' || c == 'e' {
            valid_chars.push(c);
        }
    }
    let mut tree_count = 0;     // 何個treeができたか
    loop {
        let mut can_make_tree = false;
        for _ in 0..4 {
            let mut s_index = 0;
            for c in s.chars().into_iter() {
                if char_use_table[s_index] == false && c == tree_chars[tree_chars_index] {
                    tree_chars_index += 1;
                    if tree_chars_index >= tree_chars.len() {
                        can_make_tree = true;
                        tree_chars_index = 0;
                    }
                    char_use_table[s_index] = true;
                    break;
                }
                s_index += 1;
            }
        }
        if can_make_tree == true {
            tree_count += 1;
        } else {
            break;
        }
    }
    println!("{}", tree_count);
}