結果
| 問題 |
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);
}