2005-06-28 [長年日記]
λ. ICPC過去問: Circle and Points
例によってHaskellで瞬殺(Circle_and_Points.hs)。本番じゃHaskell使えないけどな。
あるn(≧2)点を囲むような円があるとする。このとき、円をずらすことで、それらの点を全て囲んで、かつその内の2点が円周上にくるようにすることが出来る。つまり、2点が円周上にくるような円だけを調べても一般性は失われない。(2005-07-22 追記: このことについては sheepman さんによる説明 が分りやすい)
(追記: 誤差が少し心配だったので、円周上に持ってきた二点を無条件で円に囲まれているものとして扱うよう変更した。)
それと、sumimさんがSmalltalk版を書いてくれました。Smalltalkの勉強になります。
そいつの一般性が失われない理由がよくわからなくて。
やっとわかった気がするけど言葉に出来ないなぁ。
そうなんですよ。<br>言葉でどう表現するのがいいのか僕も良くわからなくて……<br><br># 数学には何か便利な表現はないのかな。<br># 次回の圏論勉強会のときにでも豊福さんに訊いてみよっと。