題目連結:
給定一正整數 n (n ≦ 100),代表有 n 個點。每個點佔一列輸入,每列給定兩非負整數 x 、 y ,代表該點在標準座標平面上的 x 、 y 座標。
試問從這 n 個點中任意挑出三個點可以形成幾個三角形?
5
0 0
1 0
2 0
0 1
1 1
2333 3333
直接利用三層的迴圈窮舉即可。但是要注意共線的問題(共線就不是三角形了)。
假設挑的三點座標為(x1, y1)、(x2, y2)和(x3, y3),則三點共線必滿足
(y1 - y2)×(x1 - x3)=(y1 - y3)×(x1 - x2)
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。