ABC071 : AtCoder Beginner Contest 071 の A, B, C, D を解いた。
- A - Meal Delivery
https://atcoder.jp/contests/abc071/tasks/abc071_a
- 提出: https://atcoder.jp/contests/abc071/submissions/31762819
(x - a).abs() < (x - b).abs()
してtrue
なら A そうでなければ B
- B - Not Found
https://atcoder.jp/contests/abc071/tasks/abc071_b
- 提出: https://atcoder.jp/contests/abc071/submissions/31762868
|S| <= 10^5
なので26
文字を順に試しても間に合う- 今回はそうせずにまず
BTreeSet
で a-z の出現したものを保持した - あとは
26
文字のそれぞれについて set に含まれるかを判定してなければそれをあれば None を出力する
- C - Make a Rectangle
https://atcoder.jp/contests/abc071/tasks/arc081_a
- 提出: https://atcoder.jp/contests/abc071/submissions/31762993
- 棒の長さごとの個数を数えて map で保持する
- 4 本以上あるもののうち最大のものと 2 本以上あるものの上位 2 つで面積を求めて大きい側が答え
- 4 本以上の考慮を忘れて 1WA
- D - Coloring Dominoes
https://atcoder.jp/contests/abc071/tasks/arc081_b
- 提出: https://atcoder.jp/contests/abc071/submissions/31763263
- 辺で接している色と同じ色は使えない
- 左端の縦置き 1 個のときは 3 色を使えるので 3 通り
- 左端の横置き 2 個のときは上が 3 色下が上以外の 2 色を使えるので 6 通り
- 縦が揃っているのでこれを区切りに i を 1 or 2 進める
- 左に縦置きがあるときに縦置き 1 個なら左と異なる 2 色を使えるので左 * 2 通り
- 左に横置きがあるときに縦置き 1 個なら左と異なる 1 色を使えるので左 * 1 通り
- 左に縦置きがあるときに横置き 2 個なら上は左と異なる 2 色下は左・上と異なる 1 色を使えるので左 * 2 通り
- 左に横置きがあるときに横置き 2 個なら上は左と異なる 2 色下は上が左と同じなら 2 色・上が左と異なるなら 1 色なので左 * 3 通り
- この場合分けを右端まで繰り返す
- 1_000_000_007 の剰余を取ることを忘れずに
リングフィットアドベンチャーの称号が今日でコンプリートだと思ったのだけど 263 個で ???
を最後のひとつ以外すべてを埋めても最後のひとつが埋まらず。調べてみたところ全部で 280 個。最後のひとつを除いて 17 個も足りない。「扇のポーズ」で 4 つ。「アシパカパカ」で 4 つ。全てのはらスキルで 3 つ。すべてのヨガスキルで 3 つ。あと 3 つは何だろう。ひとまず扇のポーズとアシパカパカを進める。
今日のコミット。