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 までクリアした。砂はスクラップから粉砕機で得た。トリウムの大きな壁の後ろにヒューズ・スキャッター・パララックスを並べた。
今日のコミット。