Python

ABC 402のD問題 Line Crossingの感想戦

ABC 402 の D 問題Line Crossingの感想戦。平行な直線は傾きが等しくなるが、傾きを計算するのではなく多角形を結ぶ円と接する場所を考えて分類する。この時平行となる接線は2ヶ所存在するので、余りを使うことで1つに集約した。

ABC 402のC問題 Dislike Foodsの感想戦

ABC 402のC問題Dislike Foodsの感想戦。食べられるようになる順番を逆にたどり、食べられない料理の集合を作ることで解決。さらに料理に使われる食材を見て食べられるようになる日に変換することで、よりスマートに解決する方法があることを知った。

ABC 401のC問題 K-bonacci

AtCoder ABC 401のC問題を時間内には回答できなかったが、簡単そうなのでチャレンジしてみました。方法は簡単だけど、計算時間制限をクリアできず、そこはカンニング。

ABC 400のC問題 2^a b^2

AtCoderのABC 400のC問題にコンテスト終了後チャレンジしてみた。数学は苦手だけど、aを偶数と奇数の場合分けして考えたら予想外の簡単な計算で答えを求めることが出来た。

ABC 400 D問題 Takahashi the Wall Breaker

D 問題には歯が立たないと思っていましたが、コンテスト後に時間をかけることで ABC 400 の D 問題を塗りつぶしアルゴリズムを使って回答することが出来ました。

ABC 400 B問題 Sum of Geometric Series

AtCoder beginner contest 400に参加して、AとBの問題を正解できました。しかし、見直してみるとB問題 Sum of Geometric Series を正解できたとはいえひどいコードだったので修正した。

テストデータの省力化

提供されるテストデータをコードの試し実行の度にコピペするのは面倒くさい。そこで、テストデータをPythonのコメントとしてコードに埋め込み、それを自動的に抽出とリダイレクトしてテストを行うラッパーを作成した。

AtCoderを始めてみる

競技プログラミングのAtCoderを始めることにした。とりあえずの目標はABCのABを完答して茶色を目指す。作成したコードはGitHub上に公開する。