ちまちまやっているCheck iOですが、ようやくレベル10に到達しました。 自分で解くのも面白いのですが、人のソースを読むのも非常に参考になります。
例えばThree Points Circleですが、
私は別件で解いたように、3点を通る3つの連立方程式を
用いて解きました。
方程式を解くだけではダメで、そこから(x-x0)^2+(y-y0)^2=r^2
に変換すべく、もう一手間加えなければ、
本当の回答にまで至らなかったわけで、少々面倒でした。
一方、この問題を外接円の 外心を求める問題だと気付けば、半径と位置をより容易に解くことができるわけです。
この解き方をしていたのは日本人の競技プログラマーですが、 競技プログラミングにおいては、問題の適切な定義と解き方の引き出しが 尋常じゃなく沢山あるのかもしれません。 もしくは、私の引き出しが少なすぎるのかもしれません orz
競技プログラミング用のアルゴリズムの学習も、今後はしていきたいですね。 一応本も一冊持っていることですし(ざっとは読んだけど理解は…ってレベル)