Toy と帽子と ADP BE

主にプログラミングに関わる話をゆるくエモくやっていきます

AtCoder Regular Contest 126

1完1WA。

緑に落ちました・・・。

各問題

A - Make 10

根性場合分け。

まず長さ3の棒は必ず2つつなげる長さ6の棒として扱う必要があります。他の長さが2と4で偶数のため、奇数の棒が残っていても10にできないので。

というわけで

  • 長さ6の棒と4の棒をつなげる
    • 長さ6の棒の方が多いときは長さ2×2=長さ4の棒とつなげる
      • まだ長さ6の棒があまるときは終了
      • 長さ2の棒が余るときは残った長さ2×5=長さ10の棒を作れるだけ作る
    • 長さ4の棒の方が多いときは長さ4×2=長さ8の棒と長さ2の棒をつなげる
      • まだ長さ4の棒があまるときは終了
      • 長さ2の棒が余るときは残った長さ2×5=長さ10の棒を作れるだけ作る
        • ただし、長さ4の棒が1つだけ余っている場合は、先に長さ4+長さ2×3で長さ10の棒を作る

とするとできます。

最後の条件を見落としていて、57分+5分・・・。

B - Cross-free Matching

スケジューリング問題の亜種かと思ってしばらく考えてたんですが、全然違いました・・・。

どうやら違うということはわかっても、じゃあ何だってのは最後までわからず・・・。

C - Maximize GCD

にぶたん?と一瞬思いましたが、ちょっと考えると連続性がないので違います。例えばサンプル2は10にはなるけど9や11にはなりません。

C600がそんな単純なわけもなく。

まとめ

まぐれもなんでもいいので、一度でいいからmaspyさんwriter回で浮いてみたい・・・。

f:id:mdstoy:20210920171326p:plain