記録

競プロとか

AtCoder Beginner Contest 197 D Opposite

はじめに

アウトプットの練習と精進。

問題

ABC 197 atcoder.jp

D問題「Opposite」 atcoder.jp

解法

N=6のときの例。 f:id:dsytk7:20210402134817p:plain

Nが偶数なので、対角線から中心点を計算できる。 f:id:dsytk7:20210402134915p:plain

中心点を原点に持ってくる。 f:id:dsytk7:20210402134925p:plain

P _ 0 \theta 分回転させて、元の位置に戻せば答えになる。 f:id:dsytk7:20210402134936p:plain

 \theta は、 \frac{2 \pi}{N} で計算できる。

回転は、回転行列により、 (x, y)\theta分回転させた座標  (x', y') を計算できる。

 x' = x \cos{\theta} - y \sin{\theta}
 y' = x \sin{\theta} + y \cos{\theta}

提出

atcoder.jp


  • 本番解けなかった。数学の勉強をしましょう。