2023-01-20 ABC178 の A, B, C, D を解いた / マイナンバーカードを受け取った
ABC178 : AtCoder Beginner Contest 178 の A, B, C, D を解いた。
- A - Not https://atcoder.jp/contests/abc178/tasks/abc178_a
- B - Product Max
https://atcoder.jp/contests/abc178/tasks/abc178_b
- 提出: https://atcoder.jp/contests/abc178/submissions/38173394
(a * c).max(a * d).max(b * c).max(b * d)
- C - Ubiquity
https://atcoder.jp/contests/abc178/tasks/abc178_c
- 提出: https://atcoder.jp/contests/abc178/submissions/38173488
- 包除原理
- 全体 - 0 を含まないもの - 9 を含まないもの + 0 と 9 を含まないもの
- D - Redistribution
https://atcoder.jp/contests/abc178/tasks/abc178_d
- 提出: https://atcoder.jp/contests/abc178/submissions/38174197
- 解説 AC
- S 個のものに区切りを入れていくことと考える
- 3 個以上になるよう区切るときの区切りの場合の数を求めれば良い
dp[i] := i 番目の要素で区切ったときの場合の数
- 最低 3 個区切りなので 3 個以前のものまでの和を求める
use modint::ModInt1000000007 as ModInt;
use proconio::input;
fn main() {
input! {
s: usize,
};
let mut dp = vec![ModInt::new(0); s + 1];
dp[0] = ModInt::new(1);
for i in 1..=s {
for j in 0..i.saturating_sub(2) {
dp[i] = dp[i] + dp[j];
}
}
let ans = dp[s];
println!("{}", ans);
}
// modint
マイナンバーカードを受領した。役所は平日のみなので困る。積極的につくりたくはなかったのだけど、避けられなさそうな気がしたので、どうせならポイントをもらえるうちにと思って作成した。
Pixel 7 は大きいのでカバーの背面にリングをつけているのだけど、その状態だと読み込めなくて体験が悪い。 Pixel 7 のサイズが悪い。
友人のアイコン画像について「いまさらだけどそのアイコン何?」と聞いたら、前にも聞かれたぞと言われて、調べたら 2 年前に聞いていた。ボケている……。怖い。
今日のコミット。