AtCoder上にある問題のうち、AtCoder Problemsでdiff 800以上と判定されているものを順番に解いていく企画。
基本的な考え方は全てコード中のコメントに入れてあるので、参照のこと。
出典:
AtCoder Beginner Contest 197 D – Opposite
出る度にドキッとする計算幾何の問題。
これは、ごく基礎的な問題だったので高校数学の記憶の欠片を取り出せばなんとかなる。今回は、最初に思いついたのでベクトルと回転行列を使用している。
\begin{pmatrix}x’\\y’\end{pmatrix} = \begin{pmatrix}\cos\theta & -\sin\theta \\ \sin\theta & \cos\theta\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}
というアレだ。もちろん、数学力はゼロなので、「回転行列」でググった成果である。ここは、用語を覚えていただけ偉いと褒めてもらいたい。うん。