Skip to content
ABC394
2025-02-24 08:11:15Algorithm

只做出来了前4题,没理解E题,近期需要提升下自己的阅读理解能力。


rust
use itertools::Itertools;
use proconio::{input, marker::Chars};

// C.Debug
// https://atcoder.jp/contests/abc394/tasks/abc394_c
#[allow(dead_code)]
pub fn solve_c() {
    input! {
      mut s:Chars
    }
    let mut w = 0;
    for i in 0..s.len() {
        match s[i] {
            'W' => w += 1,
            'A' => {
                if w > 0 {
                    s[i - w] = 'A';
                    s[(i - w + 1)..=i].fill('C');
                    w = 0;
                }
            }
            _ => {
                w = 0;
            }
        }
    }
    println!("{}", s.iter().join(""));
}

// D.Colorful Bracket Sequence
// https://atcoder.jp/contests/abc394/tasks/abc394_d
#[allow(dead_code)]
pub fn solve_d() {
    input! {
        s:Chars
    }
    let mut stk = vec![];
    for c in s {
        if stk.is_empty() {
            stk.push(c);
            continue;
        }
        match c {
            '(' | '[' | '<' => {
                stk.push(c);
                continue;
            }
            ')' | ']' | '>' => {
                if let Some(&last) = stk.last() {
                    if (last == '(' && c == ')')
                        || (last == '[' && c == ']')
                        || (last == '<' && c == '>')
                    {
                        stk.pop();
                    } else {
                        break;
                    }
                } else {
                    break;
                }
            }
            _ => unreachable!(),
        }
    }
    if stk.is_empty() {
        println!("Yes")
    } else {
        println!("No")
    }
}

Updated at:

冲吧,向那太阳,向那片海