題目連結:
給定一正整數 N (N ≦ 1, 000),代表有 N 個點,每個點佔一列輸入。
接著的 N 列,每列給定兩浮點數,代表此點在標準座標平面上的座標。
求從這 N 個點挑出三點可形成最大的三角形之面積為何?
本題暴力硬 A 是可以過的。但是我們也可以採取幾何學的看法——凸包。
根據凸包的定義,即最小的、可包覆所有點的凸多邊形。因此,本題所要求最大的三角形之三頂點必定皆在凸包的頂點(邊)上。因為不在凸包上的話,就可以往外延展碰到凸包,進而形成更大的三角形。
因此,只要找出這 N 個點的凸包,並窮舉其頂點的挑法即可找出最大的三角形。(凸包的找法可以參考
之前的文章)
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。