2024-03-14 adt_easy_20240312_3
AtCoder をやめるべきか迷っている。
adt_easy_20240312_3 : AtCoder Daily Training EASY 2024/03/12 19:30start
- A - Bitwise Exclusive Or https://atcoder.jp/contests/adt_easy_20240312_3/tasks/abc213_a
- B - Takahashi san
https://atcoder.jp/contests/adt_easy_20240312_3/tasks/abc325_a
- 提出: https://atcoder.jp/contests/adt_easy_20240312_3/submissions/51227057
println!("{} san", s);
- C - Inverse Prefix Sum
https://atcoder.jp/contests/adt_easy_20240312_3/tasks/abc280_b
- 提出: https://atcoder.jp/contests/adt_easy_20240312_3/submissions/51227161
- s_i の連続する 2 要素の差を a とすれば良い
- 最初には
0
という要素があるものとして扱う
- D - The Middle Day
https://atcoder.jp/contests/adt_easy_20240312_3/tasks/abc315_b
- 提出: https://atcoder.jp/contests/adt_easy_20240312_3/submissions/51227263
- 指示通りに d の sum を 2 で割った値を求める
- その値がどこにあるかを d を走査して調べる
- E - Ladder Takahashi
https://atcoder.jp/contests/adt_easy_20240312_3/tasks/abc277_c
- 提出: https://atcoder.jp/contests/adt_easy_20240312_3/submissions/51227450
- 到達可能な位置を BTreeSet で管理する
1
から順に BFS (or DFS) して、到達可能な位置を記録する- 到達可能な位置の最大値が答え
use std::collections::{BTreeSet, HashMap, VecDeque};
use proconio::input;
fn main() {
input! {
n: usize,
ab: [(usize, usize); n],
};
let mut map = HashMap::new();
map.insert(1, Vec::new());
for (a, b) in ab.iter().copied() {
map.entry(a).or_insert_with(Vec::new).push(b);
map.entry(b).or_insert_with(Vec::new).push(a);
}
let mut dist = BTreeSet::new();
let mut deque = VecDeque::new();
dist.insert(1);
deque.push_back(1);
while let Some(u) = deque.pop_front() {
for v in map.get(&u).unwrap().iter().copied() {
if dist.insert(v) {
deque.push_back(v);
}
}
}
println!("{}", dist.last().unwrap());
}
今日のコミット。
- bbna 1 commit
- rust-atcoder 1 commit