2023-02-22 ABC290 の A, B, C, D を解いた
Toyota Programming Contest 2023 Spring Qual B(ABC290 : AtCoder Beginner Contest 290) の A, B, C, D を解いた。
- A - Contest Result
https://atcoder.jp/contests/abc290/tasks/abc290_a
- 提出: https://atcoder.jp/contests/abc290/submissions/39114011
b.into_iter().map(|b_i| a[b_i]).sum::<usize>()
- B - Qual B
https://atcoder.jp/contests/abc290/tasks/abc290_b
- 提出: https://atcoder.jp/contests/abc290/submissions/39114132
- 解説では K 個目以降の
'o'
を'x'
にしている - ぼくは K 個目までの
'o'
を取り出して別の t をつくった
- C - Max MEX
https://atcoder.jp/contests/abc290/tasks/abc290_c
- 提出: https://atcoder.jp/contests/abc290/submissions/39114296
- 本番ではなぜかここでハマってしまった
- set に入れて 0.. で試すだけ
- D - Marking
https://atcoder.jp/contests/abc290/tasks/abc290_d
- 提出: https://atcoder.jp/contests/abc290/submissions/39115056
- N = 10 に対していろいろ手で試して動きを確認しながら解いた
use proconio::{input, marker::Usize1};
fn gcd(n: usize, m: usize) -> usize {
if m == 0 {
n
} else {
gcd(m, n % m)
}
}
fn main() {
input! {
t: usize,
ndk: [(usize, usize, Usize1); t],
};
for (n, d, k) in ndk {
let d = d % n;
let ans = if d == 0 {
k
} else {
(d * k) % n + k / (n / gcd(n, d))
};
println!("{}", ans);
}
}
bouzuya/rust-sandbox の nostrs で nostr のクライアントを書こうとしている。
crates:nostr-sdk を使うと簡単に書けそう。
今日のコミット。
- rust-sandbox 1 commit
- rust-atcoder 1 commit