Toy と帽子と ADP BE

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

AtCoder Beginner Contest 252

5完2TLE。

各問題

A - ASCII code

Nをcharにキャストして出力します。

B - Takahashi's Failure

まず、おいしさの最大値を調べて、おいしさが最大の食品の番号がBに含まれてないかどうかを調べます。

C - Slot Strategy

(0-indexedで)

止めたい数字が0番目にあるとき、0秒後に押せば止まりますし、5番目にあるなら5秒後に押せば止まります。

ただし、複数のリールで同じ場所に同じ数字があるときは、同時押しはできないので10秒ずつ待たなければなりません。

なので、止めたい数字が各リールの何番目にあるかを数えて、x番目にy個ある場合はx + (y - 1) * 10秒かかり、これが10個あるうちの最も長い秒数のものが最小の秒数となります。これを0から9までやって、最も短いものが答えです。

D - Distinct Trio

まず、全ての組み合わせは _nC_3個です。全てのAが相異なればこれが答えです。

そうでなければ各数字がいくつ出てくるかを数えます。2回以上出現する数字に関しては、その数字を2つ選ぶ選び方mC2個に、それ以外の数字を掛けたもののが条件を満たせなくなる組み合わせとなるのでそれを引いていきます。3回以上出現する数字に関しては、その数字を3つ選ぶ選び方 _mC_3個が条件を満たせなくなる組み合わせとなるのでそれを引いていきます。

ここまでやって残った組み合わせが答えです。

E - Road Reduction

ダイクストラ法で最短のパスが更新されたときその経路を保存しておくようにします。2からNまでがどこに繋がってるか調べて出力すればそれが答えです。

すいません、勘で投げたら通りました。

F - Bread

なにもわからない...。

まとめ

Eをラッキーパンチで通してやったぜという気分と、これでも青パフォには全然届かないかという気分と。Fまで通せないとやっぱりだめなのかー。