2024-01-04 体重が増えている / PAST #2 I
体重が増えている。たぶん食べすぎている。……といっても +1Kg 程度なので誤差みたいなものだ。
bouzuya/bbna で vitest を試す。 jest 互換をうたっていることもありそこまで違和感なく使えている。 parse できないケースがいつ起きるのか分かっていない。
PAST #2 第二回 アルゴリズム実技検定 過去問
- I - トーナメント
https://atcoder.jp/contests/past202004-open/tasks/past202004_i
- 提出: https://atcoder.jp/contests/past202004-open/submissions/49023860
- 愚直にシミュレート
- 1 回戦ごとに要素数が半分になるのでそんなに大きくならない
use proconio::input;
fn main() {
input! {
n: usize,
a: [usize; 2_usize.pow(n as u32)],
};
let mut ans = vec![0_usize; 2_usize.pow(n as u32)];
let mut ai = a
.iter()
.copied()
.enumerate()
.collect::<Vec<(usize, usize)>>();
for round in 1..=n {
let mut next = vec![];
for i in (0..ai.len()).step_by(2) {
if ai[i].1 < ai[i + 1].1 {
ans[ai[i].0] = round;
next.push(ai[i + 1]);
} else {
ans[ai[i + 1].0] = round;
next.push(ai[i]);
}
}
ai = next;
if ai.len() == 1 {
ans[ai[0].0] = round;
}
}
for a in ans {
println!("{}", a);
}
}
今日のコミット。
- bbna 2 commits
- rust-sandbox 2 commits
- rust-atcoder 1 commit