問題 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0115
私の解答 http://judge.u-aizu.ac.jp/onlinejudge/review.jsp?rid=2312376#1
線分と三角形の交差判定問題。テストケースの途中でWAになってすごくはまった。EPSの精度を変えたり、例外的な対応を入れては再提出を繰り返した。それでも通らなかったので、テストケースを乱数で生成して、正しく通っている人のコードの解答と、自分の解答を突き合わせて間違うテストケースを見つけた。原因は、行列式が0のときの分岐判定にdet > 0としていたこと。det != 0としたら通った。「3次元の行列式は3つのベクトルからなる立方体の体積」というのは知っていて、detは正だと思い込んでいた。detは負も全然ありうる。解けて良かった。
# wrong denom = det(a, b, c) if denom > 0: # correct denom = det(a, b, c) if denom != 0: