AtCoder Grand Contest017 A
AGC017 A
https://atcoder.jp/contests/agc017/tasks/agc017_a
考えたこと
- 最終的に食べたビスケットの総数の余りが0であろうが1であろうが偶数個の入ったビスケットは結果に影響しない。
- ビスケットが偶数個入った袋のみを何個選ぼうが総計が偶数個にしかならない。
- ビスケットが奇数個入った袋を偶数個選ぶと、余りが0になり、奇数個選ぶと余りが1になる。
考察パート
- コーナーケース(ビスケットが奇数個入った袋が0)
これは のときは答えが0になる。 のときはとなる。
ビスケットが偶数個入った袋をa個、ビスケットが奇数個入った袋をb個とする。
今の段階で以下の式が成り立つ。
考えたことをまとめるとpの値によらずビスケットが偶数個入った袋はいくつ選んでも良い。pの値により
場合分けが必要になるのはビスケットが奇数個入った袋。
ビスケットが奇数個入った袋から奇数袋分選ぶことは以下の式で表すことが出来る。
ビスケットが奇数個入った袋から偶数袋分選ぶことは以下の式で表すことが出来る。
よってそれぞれの場合について解答は以下の計算式で求められる。
コーナーケース以外でなぜ解答がとなるのか
二項定理より以下の式が成り立つ。
……①
①にを代入すると以下の式が得られる
……②
また①にを代入すると以下の式が得られる
変形すると以下のようになる。
この式の左辺を右辺をとする。両辺にAを足すと以下のようになる。
①よりなので
同様にして両辺にAを足した場合、が得られ、以下のようになる。
最終結果
コーナーケースを除いた場合以下の式が成り立つことが分かる
ここでなので最終的にコーナーケースを除いた場合の求める数はとなる。