Submission #37925423


Source Code Expand

use proconio::{input, marker::Chars};

fn f(s: &mut Vec<char>) -> bool {
    let w = vec!["dream", "dreamer", "erase", "eraser"]
        .iter()
        .map(|w_i| w_i.chars().collect::<Vec<char>>())
        .collect::<Vec<_>>();
    while !s.is_empty() {
        match s.last().unwrap() {
            'm' => {
                if s.ends_with(&w[0]) {
                    for _ in 0..w[0].len() {
                        s.pop();
                    }
                } else {
                    return false;
                }
            }
            'e' => {
                if s.ends_with(&w[2]) {
                    for _ in 0..w[2].len() {
                        s.pop();
                    }
                } else {
                    return false;
                }
            }
            'r' => {
                if s.ends_with(&w[1]) {
                    for _ in 0..w[1].len() {
                        s.pop();
                    }
                } else if s.ends_with(&w[3]) {
                    for _ in 0..w[3].len() {
                        s.pop();
                    }
                } else {
                    return false;
                }
            }
            _ => {
                return false;
            }
        }
    }
    true
}

fn main() {
    input! {
        mut s: Chars,
    };
    let ans = f(&mut s);
    println!("{}", if ans { "YES" } else { "NO" });
}

Submission Info

Submission Time
Task C - Daydream
User bouzuya
Language Rust (1.42.0)
Score 300
Code Size 1417 Byte
Status AC
Exec Time 6 ms
Memory 2548 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 19
Set Name Test Cases
Sample subtask0_0.txt, subtask0_1.txt, subtask0_2.txt
All subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt
Case Name Status Exec Time Memory
subtask0_0.txt AC 6 ms 2052 KiB
subtask0_1.txt AC 2 ms 2132 KiB
subtask0_2.txt AC 2 ms 1996 KiB
subtask1_0.txt AC 3 ms 2388 KiB
subtask1_1.txt AC 3 ms 2548 KiB
subtask1_10.txt AC 3 ms 2444 KiB
subtask1_11.txt AC 3 ms 2428 KiB
subtask1_12.txt AC 4 ms 2460 KiB
subtask1_13.txt AC 3 ms 2380 KiB
subtask1_14.txt AC 3 ms 2488 KiB
subtask1_15.txt AC 3 ms 2428 KiB
subtask1_2.txt AC 2 ms 2452 KiB
subtask1_3.txt AC 3 ms 2384 KiB
subtask1_4.txt AC 3 ms 2440 KiB
subtask1_5.txt AC 3 ms 2420 KiB
subtask1_6.txt AC 3 ms 2484 KiB
subtask1_7.txt AC 3 ms 2316 KiB
subtask1_8.txt AC 3 ms 2412 KiB
subtask1_9.txt AC 3 ms 2332 KiB