AtCoder Beginner Contest 224 参加記

2021/10/23に開催された AtCoder Beginner Contest 224に参加しました。

atcoder.jp

前回のコンテストで待望の緑コーダー復帰。が、緑ギリギリのレートで、いつ茶落ちしてもおかしくない状態なので、今回少なくとも緑パフォは確保しようという低い意識で臨んでみました。

今回の結果

でで、今回は久しぶりの3完終了と相成りました。。うーむ。。

ABC224結果

ABC224結果

が!なんとか緑パフォがキープ。レートの方も少しだけ上げることに成功しました!

振り返り

Cでちょい苦戦して、D以降は歯が立ちませんでした。

ABC224提出結果

ABC224提出結果

A問題

A - Tires

文字列Sが"er"か"ist"どっちで終わるかを判定する問題。

Javaで書く場合、endsWithメソッドで書けば簡単に判別できる。問題なくAC。

提出コード

https://atcoder.jp/contests/abc224/submissions/26753159

B問題

B - Mongeness

問題文のとおり四重ループを実装するだけでACが取れました。

解説を読むと、もっと効率の良い方法があったようだが、それは今後の学習課題ということで。

提出コード

https://atcoder.jp/contests/abc224/submissions/26762115

C問題

C - Triangle?

問題文を一読した時、「図形が正の面積を持つ三角形」と書いてあるのでなんじゃこりゃ?と思った。負の面積とかあるんかいなと。。

で、よくよく考えると、この問題の題意は、「任意の3点を選んだ時、一直線上に存在しない選び方は何通りあるか」というものと理解。

 

昔こんな問題あったかと思って色々ググってたら、任意の3点が一直線上にあるかを判定するという題意が真逆の問題があった。

atcoder.jp

あとはこれの解法を参考にして実装することでなんとかACが取れましたとさ。

提出コード

https://atcoder.jp/contests/abc224/submissions/26766517

D問題

D - 8 Puzzle on Graph

この問題でハマってしまった。。

まず自力で考察した内容として、グラフの頂点が9個であることから、グラフの状態を9文字の文字列で管理することを思いついた。

i文字目の数字を頂点iに存在するコマの数字として、駒のない頂点は"0"で表現する。あとは、グラフ上で連結している頂点間で、"0"の位置を動かすことで、最終の目的となる状態”123456780”になるかを判定すれば解けると思われる。

で、この”0”を動かす部分をDFSで実装してみたら、最初はバグだらけで何も通らず。なんとかバグを直してみたら、今度は入力例1は通るが、3と4でスタックオーバーフローになるということで、結局あれこれ試行錯誤した挙句時間切れとなりました。

解説を見てたら、BFSでの実装ならなんとか行けたくさいとのこと。

この問題まで解けてたら4桁パフォは出てたというとこなので、非常に惜しかったです。。

E問題

E - Integers on Grid

問題はチラ見しましたが、何もわからず。

F問題

F - Problem where +s Separate Digits

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

G問題

G - Roll or Increment

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

H問題

H - Security Camera 2

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

これまでの実績

なんとか茶落ちせずに済みました。

コンテスト実績

コンテスト実績

総括

緑には復帰したものの、最近のABCでは緑の下の方のパフォしか出せてないので、いい加減頭打ち感がひどくなってきました。

ここいらで水色パフォを安定して出せるようになりたいなーと思う今日この頃ですが、そのためには地道に精進を重ねていくしかないと言うところですね。

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