2022-07-21 ABC096 の A, B, C, D を解いた / Cargo.toml の version を埋め込む方法
ABC096 : AtCoder Beginner Contest 096 の A, B, C, D を解いた。
- A - Day of Takahashi
https://atcoder.jp/contests/abc096/tasks/abc096_a
- 提出: https://atcoder.jp/contests/abc096/submissions/33392528
 if a <= b { a } else { a - 1 }
 - B - Maximum Sum
https://atcoder.jp/contests/abc096/tasks/abc096_b
- 提出: https://atcoder.jp/contests/abc096/submissions/33392574
 - A, B, C のうち最大のものに 
2.pow(k)をかけたとき最大になる a + b + c + a.max(b).max(c).pow(k - 1)(提出コードとは異なる)
 - C - Grid Repainting 2
https://atcoder.jp/contests/abc096/tasks/abc096_c
- 提出: https://atcoder.jp/contests/abc096/submissions/33392651
 - 各マスから上下左右に移動できた先は塗れる
 - 塗ってみたものと 
sを比較して一致すれば Yes そうでなければ No 
 - D - Five, Five Everywhere
https://atcoder.jp/contests/abc096/tasks/abc096_d
- 提出: https://atcoder.jp/contests/abc096/submissions/33393016
 - 最初は偶数・奇数で考えた
 - すべて素数ということは偶数は 5 個のうち 0 個または 1 個
 - 1 個の (2 が含まれる) ときは 2 より大きい偶数になるので合成数
 - 0 個のときにはこのアイデアではうまくいかない
 - 5 個足して何かの倍数になれば良い
 - 5 個足して 5 の倍数にするには 5 で割った余りが 1 になる素数が 55555 までに 55 個あれば良い
 - 数えてみてあったのでこれを列挙した
 - 素数の列挙にはエラトステネスのふるいを使った
 
 
Cargo.toml に記載している version を埋め込む場合は CARGO_PKG_VERSION を使うと良い。 env! マクロでコンパイル時の値を &'static str として得られる。
https://doc.rust-lang.org/cargo/reference/environment-variables.html#environment-variables-cargo-sets-for-crates https://doc.rust-lang.org/std/macro.env.html https://doc.rust-lang.org/std/macro.option_env.html
Mindustry のインパクト 0078 までクリアした。砂はスクラップから粉砕機で得た。トリウムの大きな壁の後ろにヒューズ・スキャッター・パララックスを並べた。
今日のコミット。