Toy と帽子と ADP BE

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

パナソニックグループプログラミングコンテスト2022(AtCoder Beginner Contest 273)

4完1WA。

各問題

A - A Recursive Function

指定された漸化式を実装して呼び出せばよいです。

B - Broken Rounding

1の位から四捨五入して切り上げなら一つ上の位に1を足せばよい(10iの位が切り上げなら10i+1を足す)ですが、最上位が切り捨てのときは答えが0になることに注意です。

C - (K+1)-th Largest Number

各数の出現数を数えて、それ以上の数がいくらあるかを小さい方から算出していったものをmapで保持して、与えられた数列の頭から順にmapから答えを取り出せばよいです。

D - LRUD Instructions

各行、各列にある壁をmap<int, set<int>>で保持します。

クエリ毎に保持したsetを二分探索して、ぶつかるかどうかチェックします。

それだけなのですが、実装をバグ散らかしてめちゃくちゃ時間をかけたあげく1WA。しかも最初座圧がいると思っていたという...。

E - Notebook

ページのSAVE, LOADやDELETEでAが分岐するのですが、それらのポインタの遷移を木で保存すると、解けるはず。(Dのせいで時間が足りず...)

まとめ

実装重要な問題が多く、比較的自分向きのセットだったはずなのにDがすんなりいかなかったためひどいことに...。

かろうじて水パフォは維持...。1200ちょうどだったw