Toy と帽子と ADP BE

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

京セラプログラミングコンテスト2021(AtCoder Beginner Contest 200)

4完2WA。

各問題

A - Century

はい、単純な算数です。

蛇足ですが、西暦n年のnを円と考えて、100円玉がx枚以上あればn円の商品を買えるときのxが世紀になります。

B - 200th ABC-200

制約の範囲内だと、Nをlong longで取れば、愚直に操作を実装(200の倍数のときは200で割る、そうでないときはN*1000+200)する、で収まるので大丈夫です。200を付与した後は必ず200で割れるため、桁数は雑に見積もってもK/2より増えることはないです。

C - Ringo's Favorite Numbers 2

各Aの余りを取って出現数を数えて、それぞれのあまりが出る場合の数は出現数 * (出現数 - 1) / 2ですので、0-199までの出現数について計算して足し合わせればそれが答えです。

D - Happy Birthday! 2

一見組み合わせが爆発しそうですが、あまりとして取りうる数は200種類で、一つでも余りが重複する組み合わせがあればそれが答えなので、なんでもいいから201通りの数列を構築して余りを計算すれば(自分は再帰を使いました)、いわゆる鳩の巣原理で答えが見つかります。

Nが小さくて201通りに満たないときのみNoがありえます。

E - Patisserie ABC 2

なにか見えたような気がしましたが、実装しきれず。とりあえず時間ギリギリで投げるとWAもTLEもたくさんあったので、そもそも考察がいろいろと足りなかった模様・・・。

F - Minflip Summation

みてません。

まとめ

好みのセットでひさしぶり(AGCのギャグ一発で出した黄パフォを除くとなんと半年ぶり・・・)に青パフォ出せて満足ー。

f:id:mdstoy:20210508230618p:plain