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

2022/5/14に開催された、パナソニックグループプログラミングコンテスト2022(AtCoder Beginner Contest 251)に参加しました。

atcoder.jp

今回のABCも水パフォが目標。前回ABCでは、緑パフォまでしか出せなかったのでリベンジなるかというところです。

今回の結果

で、、今回はなんとD問題が解けずで3完終了という結果になりました。。

ABC251結果
ABC251結果

肝心のパフォーマンスは、一応緑中盤ぐらい。なんとかレートは微減ですみました。

振り返り

D問題で方針を大きく間違えてしまいました。

ABC251提出結果
ABC251提出結果

A問題

A - Six Characters

とりあえず、Sを6回繰り返した文字列から、先頭6文字を出せばOKという感じで実装。

問題なくACを取ることができました。

1分53秒という普通のタイムで1完。

提出コード

https://atcoder.jp/contests/abc251/submissions/31656380

B問題

B - At Most 3 (Judge ver.)

所謂、N^{3}が間に合いそうな制約ということで、全探索を行う。

こちらも、特に問題なくACを取ることができました。

9分21秒で2完。

提出コード

https://atcoder.jp/contests/abc251/submissions/31663060

C問題

C - Poem Online Judge

S_iが既出かどうかを管理するSetオブジェクトを用意し、あとはオリジナルの中から最高得点のモノの出現位置を覚えておけばよい。

こちらも特に問題なくACを取ることができました。

15分12秒で3完。

提出コード

https://atcoder.jp/contests/abc251/submissions/31666674

D問題

D - At Most 3 (Contestant ver.)

ここで、大きく方針を見誤りました。

とりあえず、Wまでの数字をすべて作れるように、桁の範囲ごとに分割すればよいかという考えは出たのですが、初手から2進数で考えてしまったため、無駄に苦労してしまうことになりました。

具体的には、最大値の100万を2進数で表すと、11110100001001000000となり、右から1-7桁目と中盤の8-14桁目、残りの桁で考えて3分割して、それらをすべて列挙してみると、全体で315種類。300以下の制約に合わなくなってしまいました。。

とりあえず、少し間引きした結果でいったん提出したものの、結果はあえなくWA。。

この後もいろいろ悩んだものの、解決策が浮かばすで、とりあえずこの問題は撤退です。。

E問題

E - Tahakashi and Animals

一応、D問題より解かれているようなので残り30分弱の時間でチャレンジしてみる。

が、、良い解法が全く思いつかず。とりあえず、現在使おうとしている操作のコストが、その前後の操作のコストの和より大きい場合、前後の操作を行ったものとして計算するという解法を実装してみるも答えが合わず。

あとは問題を考察しているだけで時間終了となりましたとさ。

F問題

F - Two Spanning Trees

問題すら見れておりません。

G問題

G - Intersection of Polygons

問題すら見れておりません。

H問題

Ex - Fill Triangle

問題すら見れておりません。

これまでの実績

なかなか上抜けできない、もどかしいチャートとなりました。

コンテスト実績
コンテスト実績

総括

今回のD問題は、初手で2進数と考えたのが悪手でしたが、それを10進数で考えることに切り替えられなかったのが悔やまれるところです。

が、過ぎたことをあれこれ考えてもどうしようもありません。とりあえず日曜のARCを頑張ることとしましょう。

ということで、また次回も頑張ります。