只做出来了前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")
}
}