AOJ0012: A Point in a Triangle
もう1つやっていたので。
問題概要
3点a,b,cからなる三角形の中に点pが入っているか(線上は入っていない扱い)を求めよ。
A Point in a Triangle | Aizu Online Judge
解説
これも色々解き方ありそうですね。自分は「それぞれの単位ベクトルを用いて内積の大きさを比べる」とか考えたのですが、結局面積に。
もしpが三角形の中にあるなら面積がabc=pab+pbc+pcaとなります。線の上にあるなら右辺のどれかが0になるはずです。三角形の外にあるなら左辺<右辺です。
三角形の面積はベクトル使いましょう。S=|ad-bc|/2です。
https://github.com/HyogaGlacier/AOJ/blob/master/0012.c
感想
今回はスパコンやるかもしれないということでCを再び使い始めました。コンパイルオプションに-lmつけ忘れて死亡してました。