No.016 D
線分上の点 を線分の片方の端からもう片方の端まで動かしていくと, 点 が途中で多角形の辺に出会うと点 は多角形の内部に入り, さらに多角形の辺に出会うと点 は多角形の外部に出る. 外部に出たときに多角形からパーツが切り離される.
よって, 点 が多角形の辺に出会った回数を とすると, 多角形から 個のパーツが切り離され, 合計で 個のパーツに分轄される.
は多角形の辺のうち線分と交差する辺の個数である.
なお, 線分の交差判定は以下の通りである. (ちょっとぐぐれば出てくる)
点 があるとき,
が成立すれば線分 と は交差する.
なお, 判定式の途中で int
の範囲を超える場合があるので long
を使う.