No.016 D

線分上の点 を線分の片方の端からもう片方の端まで動かしていくと, 点 が途中で多角形の辺に出会うと点 は多角形の内部に入り, さらに多角形の辺に出会うと点 は多角形の外部に出る. 外部に出たときに多角形からパーツが切り離される.

よって, 点 が多角形の辺に出会った回数を とすると, 多角形から 個のパーツが切り離され, 合計で 個のパーツに分轄される.

は多角形の辺のうち線分と交差する辺の個数である.

なお, 線分の交差判定は以下の通りである. (ちょっとぐぐれば出てくる)

があるとき,

が成立すれば線分 は交差する.

なお, 判定式の途中で int の範囲を超える場合があるので long を使う.