ABC176参加記

2020/8/22に開催されたABC176に参加しました。

atcoder.jp

ここ2回のABCは2完終了と残念な結果なんで、今回はなんとか3完以上取らんといかんなーという気持ちで参加しました。

今回の結果

で、今回はなんとか3完達成しました。まあ一応ノルマ達成みたいなもんです。

ABC176結果

ABC176結果

パフォーマンスは現在のレーティングとほぼ同じ。レーティングは現状維持でした。

振り返り

3完までは順調でしたが、それ以降がダメダメでした。

ABC176提出結果

ABC176提出結果

A問題

A - Takoyaki

 N÷Xを切り上げた値にTを掛ければよい。

が、、最近割り算の切り上げとかプログラムでやったことなかったので、剰余があるかどうかのIF文を入れてなんとかAC。

B問題

B - Multiple of 9

各桁の数字を足し合わせて 9の倍数かを判定する問題。これは特に問題なくAC。

C問題

C - Step

 最近鬼門のC問題だが、問題文をみた瞬間、結構簡単そうにみえたので一瞬目を疑ってしまった。

配列を前からみていって、直前の人が身長が高い場合、その高さの差を合計に足し込んでいけばOK。

検証に少し時間をかけたが一発でAC。

D問題

D - Wizard in Maze

20分ちょいでC問題完了という、個人的には結構なペースでここまで進みましたが、こっから停滞しました。

問題文をみる限り、迷路探索でBFSを使う典型問題の感じでしたが、ワープの条件の実装で大分悩んでしまいました。

結局、色々悩んで時間を潰した挙句、残り10分となったところで、毎回ワープできる時はワープするという、大分効率が悪そうなコードを投げてみたが、それが通るほど世の中甘くないようでTLEを喰らいました。(´・ω・`)

 結局時間切れでこの問題は解けず。

E問題

E - Bomber

 D問題に固執しすぎてコンテスト中に問題文を読めなかったが、見た感じ自分でもなんとか解けそうな問題。なんでD飛ばしてE見なかったの?と一瞬後悔しました。(ま、実際はいうほど簡単ではなかったが。)

解法は以下の通り。

爆破対象を行、列ごとにカウントする。爆破対象が最大数存在する行と列の交点が爆弾の設置候補となる。

つぎに、全ての爆破対象の位置より、その行、列にある爆破対象の数が先に計算したそれぞれの最大数と両方一致するかをみる。

爆弾の設置候補の数と、行と列両方爆破対象が最大数となる爆破対象の数が一致したら、全ての設置候補が爆破対象になるので答えは行列それぞれの最大数を足して1を引けばよい。一致しない場合は、1を引かなくて良い。

この問題は、コンテスト後にACしました。

F問題

F - Brave CHAIN

 コンテスト中に問題が読めなかったが、なんかAGCに出てきそうな感じの問題。解説をみて大分難しそうでしたが、今週中には時間をとって実装しようかと思ってます。

これまでの実績

8月にはいってから相当停滞気味です。精進はしてるんだが、結果が出ないなー。

コンテスト実績

コンテスト実績

総括

今回はなんとか3完達成でしたが、今回の問題の難易度からいうと決して出来がよかったとは言えません。ここ最近はいい結果が出てないですが、諦めずに頑張ります。