Description:
M*Nの大きさの長方形がある。(1 <= M,N <= 50)
長方形の外周上の2つの格子点を通るように、長方形をカットする。
カットは、長方形の辺と直角か、45度になるように行われる。
K回のカットを行った後、切れ目の無い三角形のピースがいくつ出来るかを答えよ。(0 <= K <= 296)
全てのカットは異なっている。
Answer:
ある直線と、残り全ての直線の交点を求め、ソートすれば、その直線がどのようにセグメントに分割されるかが計算できる。
そのセグメントからグラフを構成する。
グラフ上の各点からDFSを行い、深さ3で自分自身に戻ってこれるなら、その点は三角形の一部となっている。
この方法では、三角形の各点*(時計/反時計回り) = 3*2 = 6回同じ三角形を数える事になるので、6で割って答えとする。
Source: