2024-03-19 bbna シェアボタンを追加 / adt_easy_20240314_3
bouzuya/bbna 。シェアボタンを追加。
adt_easy_20240314_3 : AtCoder Daily Training EASY 2024/03/14 20:30start
- A - wwwvvvvvv
https://atcoder.jp/contests/adt_easy_20240314_3/tasks/abc279_a
- 提出: https://atcoder.jp/contests/adt_easy_20240314_3/submissions/51450267
s.into_iter().map(|c| match c { 'v' => 1, 'w' => 2, _ => unreachable!(), }).sum::<usize>()
- B - Edge Checker
https://atcoder.jp/contests/adt_easy_20240314_3/tasks/abc240_a
- 提出: https://atcoder.jp/contests/adt_easy_20240314_3/submissions/51450330
(a == 1 && b == 10) || (a + 1 == b)
- C - Matrix Transposition https://atcoder.jp/contests/adt_easy_20240314_3/tasks/abc237_b
- D - MissingNo.
https://atcoder.jp/contests/adt_easy_20240314_3/tasks/abc317_b
- 提出: https://atcoder.jp/contests/adt_easy_20240314_3/submissions/51450475
- ソートして、一つ前の要素の次になっていない要素があれば、期待していた要素が答えになる
- 条件から先頭・末尾の要素が欠けることはないため、この方法で問題ない
- E - Changing Jewels https://atcoder.jp/contests/adt_easy_20240314_3/tasks/abc260_c
use std::collections::HashMap;
use proconio::input;
fn f(x: usize, y: usize, map: &mut HashMap<(usize, usize), usize>, c: usize, n: usize) {
if map.get(&(c, n)).is_some() {
return;
}
if n >= 2 {
if c == 1 {
f(x, y, map, 1, n - 1);
f(x, y, map, 0, n);
map.insert(
(c, n),
map.get(&(1, n - 1)).unwrap_or(&0) + map.get(&(0, n)).unwrap_or(&0) * x,
);
} else {
f(x, y, map, 0, n - 1);
f(x, y, map, 1, n - 1);
map.insert(
(c, n),
map.get(&(1, n - 1)).unwrap_or(&0) + map.get(&(0, n - 1)).unwrap_or(&0) * y,
);
}
}
}
fn main() {
input! {
n: usize,
x: usize,
y: usize,
};
let mut map = HashMap::new();
map.insert((1, 1), 0);
map.insert((0, 1), 1);
f(x, y, &mut map, 1, n);
let ans = map.get(&(1, n)).unwrap();
println!("{}", ans);
}
今日のコミット。
- rust-atcoder 1 commit
- bbna 2 commits