AtCoder Beginner Contest 259 参加記

2022/7/9に開催されたAtCoder Beginner Contest 259に参加しました。

atcoder.jp

先週のABCでは、水色パフォを出すことが出来、下がり気味だったレートも少し戻すことができました。

今回は、その流れに乗れるようにということで、水色パフォーマンスを出すことを目標として挑むことにしました。

今回の結果

しかしながら、今回は3完止まりという残念な結果となりました。。。

ABC259結果
ABC259結果

茶パフォで暴落かと覚悟しましたが、なんとか緑パフォの下位辺りで勘弁してくれたようで、レートの方は少し下がるという結果となりました。

振り返り

Dでバグりちらかしてしまいました。

ABC259提出結果
ABC259提出結果

A問題

A - Growth Record

変数が5個もあり、なんか条件分岐が複雑そうな問題。題意を読み解いて整理するのが大変でした。

まとめてみると、\ X - M \gt 0の場合は、\ T - ( D \times (X - M))が答え。それ以外の場合は、Tを答えとして出力すれば良い。

実装に少し手間取りながらもなんとかACを取り切ることができました。

7分5秒で1完。A問題にしては、だいぶ時間が取られてしまいました。

提出コード

https://atcoder.jp/contests/abc259/submissions/33077040

B問題

B - Counterclockwise Rotation

三角関数を駆使するんだろうなーという感じの問題。

とりあえず、原点から、(a, b)への距離を求め、cos(d)sin(d)にそれぞれ掛けた値を求めてみるが、違うっぽい。

ということで、原点から、(a, b)を見た時の角度も考慮に入れないとダメっぽいので、仰角を求める方法などをググってみる。

そして、三角関数に入れるラジアンに、先ほど求めた仰角を足してみたところ、サンプルが通ってくれたっぽいので、そのまま提出。なんとか、ACが取れましたとさ。

24分43秒で2完。今までのABCとは違い、だいぶ苦戦しております。

提出コード

https://atcoder.jp/contests/abc259/submissions/33087987

C問題

C - XX to XXX

S, Tをそれぞれ連長圧縮することで、なんとかなりそうな問題。

とはいえ、ライブラリ的なものはないので、とりあえず実装。

あとは、S, Tをそれぞれ連長圧縮した後、文字の並びと数が合っているか。その次に片方の文字長が1の場合は、他方の文字長が1か。1でない場合は、Tの方が大きいかを判別。

多少、実装が長くなったものの、なんとか一度の提出でACを取り切ることができましたとさ。

36分55秒で3完。少し取り戻した感があります。

提出コード

https://atcoder.jp/contests/abc259/submissions/33094321

D問題

D - Circumferences

読み進めてみると、各円をグラフの頂点とみなし、スタート地点に接している円と、ゴール地点に接している円が同じ連結成分に属しているかを判定する問題の様に見える。

制約から見ても、円同士の連結判定でO(N^{2})使っても大丈夫そう。

ということで、あとは、円同士が接点を持つかどうかの判定と、スタート地点とゴール地点はどの円に属するのかを判定できれば良い。

前者については、とりあえずググってみると中心点の間の距離と、円の半径を見れば判定可能な模様。

後者については、各円の中心から、スタート及びゴール地点それぞれの距離を見たときに、円の半径と一致しているかを判定すれば良い。

ということで実装してみて、サンプルまで通ったものの、なんとWA×3を喰らってしまう。。。

当初、N=1のコーナーケースがおかしいかと思ったが、それは関係無いっぽい。

円の半径と距離の判定で、途中計算でdoubleを使っている事による誤差が原因かと少し思いましたが、それを修正するには大分時間が掛かりそうなので、他の線をまず洗ってみるも、結果は芳しくない。

ということで、結局WAは取れずじまいとなりましたとさ。。

解説を見ると、考えかたは合っているみたい。なのでWAの原因は恐らくdoubleで計算したことによる誤差である模様。。こんな凡ミスで解ける問題を落としてしまい、非常に残念な気持ちです。

E問題

E - LCM on Whiteboard

ワンチャンあるかと、問題を見てみるも、なにも解法が浮かばずで、早々に諦め。

F問題

F - Select Edges

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

G問題

G - Grid Card Game

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

Ex問題

Ex - Yet Another Path Counting

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

これまでの実績

上げた翌週は下げという流れが続いております。。

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

総括

少し前も似たような感じで、解けたはずの問題を解けなかったという事があったような気がします。

やはり、こういった取りこぼしは、無くしていきたいものですが、なかなか無くならない。こういったところを改善していくには、やはり実装経験を積んでいくことしかないかと思う次第です。

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