M-SOLUTIONS プロコンオープン2021(AtCoder Beginner Contest 232) 参加記

2021/12/19に開催されたM-SOLUTIONS プロコンオープン2021(AtCoder Beginner Contest 232)参加しました。

atcoder.jp

前回のABCコンテストでは、あえなくレート下げを喰らってしまい、せっかく一時は4桁になったレートも、3桁となってしまいました。

今回は、なんとか4桁に復帰できるようにという気持ちで臨むこととしました。

今回の結果

で、肝心の結果ですが、今回はぎりぎりで4完を確保できたというところでした。。

ABC232結果
ABC232結果

パフォーマンスもぎりぎり緑。結局連敗ということになってしまいました。。

振り返り

B、C問題で盛大にやらかしてしまい、4完するのが精一杯でした。

ABC232提出結果
ABC232提出結果

A問題

A - QQ solver

入力は3文字固定なので、1文字目と3文字目を数値とみなして掛け算すれば良い。

問題なくAC。

提出コード

https://atcoder.jp/contests/abc232/submissions/27985125

B問題

B - Caesar Cipher

T_1S_1をint型とみなして引き算を行い、その差の値が全てのT_iS_iの差と同じだったらYesとすれば良い。

と思って提出してみたものの、なんとこれがWAを食らってしまう。。

んで、このWAの原因が全く分からずでパニクってしまい、いろいろ悪あがきをしていじってみたコードを提出するも、WAの結果は変わらず。。

気づけば、B問題が解けずで20分も溶かしてしまいました。。。

これはいかんと問題文を見直し、愚直に題意のKの値をS_1T_1から求めて、他のS_iT_iから求めたKの値が全てのiについて同じとなるかというプログラムにしたところ、なんとかWAが消えてくれました。

B問題で大分ハマってしまい、開始26分で2完目のAC。相当出遅れてしまいました。

提出コード

https://atcoder.jp/contests/abc232/submissions/27999933

C問題

C - Graph Isomorphism

C問題にしては珍しいグラフ問題かと思ってたら、どうもこれは数列Pを順列全探索して求める問題らしいということに気づいた。うーむ、過去にはやったことはあると思うが手持ちのコードにそのサンプルが見当たらない。。

ということで、「順列全探索」でググった結果より、適当に見繕ってコピペしてきたコードをいじくり回してなんとか実装をしてみることに。

で、なんとか動きそうな実装はできたものの、サンプルのケースが通らず。且つどこが原因かもよく分からんという事態に陥ってしまいました。。

あれこれやってみるも上手くいかず、残り時間も相当厳しい状態に。このままC問題と心中すれば、最悪2完で爆死という悲惨な結果になってしまいそうだったので、一旦D問題から片付けることに。

で、結局DをACした後で、Cに戻って来た時にデバッグを色々やってみたところ、有向グラフとして作成、比較をしてしまっていたのが原因ということにやっと気づき、なんとかコンテスト終了間際に実装と提出にこぎつけることができましたとさ。

大分冷や汗ものでしたが、なんとか4完が確保できたというとこです。

提出コード

https://atcoder.jp/contests/abc232/submissions/28017206

D問題

D - Weak Takahashi

C問題が解けずでやってきたD問題だったが、こちらはすぐに解法が思い付いたので助かった。

右のマスと下のマスを探索していくBFSを実装し、マスごとの移動回数の最大値及び全体の移動回数の最大値を管理して、最終的に移動回数の最大値を出力すれば良い。

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

提出コード

https://atcoder.jp/contests/abc232/submissions/28013200

E問題

E - Rook Path

Dを解いた直後に、ワンチャンあるかとE問題も覗いてみたが、一読しても解法が思いつかずのため、とりあえず諦めてC問題に戻ることにしました。

F問題

F - Simple Operations on Sequence

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

G問題

G - Modulo Shortest Path

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

H問題

H - King's Tour

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

これまでの実績

レートはまたまた微減。はやく4桁に復帰したいなーー。。

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

総括

今回は、B、C問題で相当なやらかしをしてしまい、大幅なタイムロスをしてしまったのが大いに悔やまれます。

どちらの問題も、難易度的にはそんなに苦戦する問題でなかったのですが、勝手な思い込みが原因でハマってしまい結果として解き切るまでに相当に時間を喰ってしまうという惨憺たる状況となりました。

今回の問題セットだと、4完で60分は切れるぐらいは行けたと思うし、そうすればレートが下がるという事は無かったかと思います。簡単な問題を取りこぼさないようにする訓練がもっと必要なんだと痛感しました。高難易度の問題を解く訓練と並行して、低難易度問題も数を解いて早解きができるようにしていきたいと思います。

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