2021/4/11に開催されたAtCoder Beginner Contest 198に参加しました。
先週はコンテストが無く、前日の土曜のAGCも不参加だったので、大分間が空いてのコンテスト参加です。最近は仕事も多忙のため、あんまし精進もできてないこともあったので、何とか今回はレートが下がらない程度に頑張ろうという感じでした。
2週間ぶりのコンテスト参加。最近あまり精進する時間が取れてませんが、レートを落とさない程度に頑張ります。
— devgenjin77 (@devgenjin77) 2021年4月11日
AtCoder Beginner Contest 198 - AtCoder https://t.co/mnM2XxxuRv
今回の結果
で、今回の結果は、ラスト1分ギリギリでの4完達成となりました!
水色パフォーマンスが出て、レートはHighestを更新。そろそろ4桁レートも目前となりました。
ギリ4完して、水色パフォ、Highest更新でした😆
— devgenjin77 (@devgenjin77) 2021年4月11日
次も頑張ります!
devgenjin77さんのAtCoder Beginner Contest 198での成績:1441位
パフォーマンス:1258相当
レーティング:927→965 (+38) :)
Highestを更新しました!#AtCoder #ABC198 https://t.co/JbYpGH0vx3
振り返り
Cまで大分もたつきましたが、ラストギリギリでE問題のACが取れました。
A問題
サンプルの見た目からを出力すればいいのかなー的な問題。
疑ってもきりが無いので、上記の理解どおりに実装して提出。ACが取れましたとさ。
2分程度でA問題通過。
B問題
B - Palindrome with leading zeros
先頭に'0'を追加して回文になっているかのチェックを、の桁数分繰り返せばよい。
ということで、StringBuilderを使って実装すれば簡単かと思いきや、いろいろ想定外の挙動が発生してサンプルすら通すのに結構苦労してしまう。
結局、愚直にStringの頭に'0'を追加することを繰り返すことで解決しました。
B完了まで、結構遅めの14分かかりました。
C問題
以下の距離であれば最大2歩使えば到達できるという考えで解いてみる。
目標までのユーグリット距離をとしたとき、なら1歩。
の場合は2歩。これがコーナーケース。
あとは、を計算して、余りがでるなら商にプラス1した値が答えという感じで計算。
で、これで通るはずと思い、投げてみたら、大量のWAを喰らってしまう。。
intでなく、longで計算することで解決。どうも二乗がオーバーフローしてたみたい。
そんなこんなで、結局C完了まで40分以上かかってしまいました。
D問題
どっかで見たタイトルだと思ったら、覆面算の問題。
解法としては、とりあえず全パターン試すしかないと思ったが、ことのほか実装がめんどくさそうで、コーディングに着手できない。
んで、よくよく順位表を見てるとEの方がAC多めだったので、いったんDは諦めてEに取り組むことにしました。
E問題
問題の見た感じ、木をDFSで探索して初めて遭遇する色の頂点のみを答えのリストに追加する感じでOKかと。
ということで、実装してみるがDFSを使う過去の実装例なんかを探すのにモタついてしまいまして、時間切れも心配になってくる状況に。
で、終了間際に投げてみたら、なぜか大量のWAが、、て答えにソートが必要なのを見落としてたー!
最終的に、答えをソートする実装を加えて投げたのが終了2分前。なんとかこの提出でACが取れましたとさ。
これが通るのと通らないのでは、レートも大分違ってたので、非常に嬉しいです。
F問題
問題文すら見れておりません。
これまでの実績
レートはHighest更新。水色に向けて着々と上がってきてます。
総括
今回、ギリギリでEが通せたので助かりましたが、道中まだまだ細かいミスが多いのが反省点ですね。今回のA問題以降は一度全て実装しなおして復習することで、同様のミスが出ないようにしたいと思います。
また、次回も頑張ります。