メモ

パソコン甲子園 2006予選 問7
直線ABと円Oの共有点を調べるための式 A(x1,y1) B(x2,y2) Oの中心(wx,wy)
nan = (y2-y1) / (x2-x1);
sep = y1 - x1 * nan;
D = pow (2 * nan * sep - 2 * nan * wy[i] - 2 * wx[i]) - 4 * (1 + pow(nan)) * (pow(wx[i]) + pow(sep) - 2 * sep * wy[i] + pow(wy[i]) - pow(r[i]);


pow関数は引数の平方を返す
nanは直線の傾き、sepは切片
Dが負の数の場合は円と直線の共有点が無いため、たろうは鬼に見つかるためDangerを返す
Dが0以上ならば共有点があり、鬼に見つかることはないためSafeを返す


ジグソーパズルとか解ける気がしない