d055: 11437 - Triangle Fun

http://zerojudge.tw/ShowProblem?problemid=d055

內容 :

在下圖中有一個三角形 ABC。點 D, E, 及 F 分別以 1:2 的比例切割 BC, CA, 及 AB 三個邊,也就是 CD=2BD, AE=2CE, 及 BF=2AF。用線段連接 A, D; B, E 及 C, F。AD 與 BE 相交於 P,BE 與 CF 相交於 Q,而 CF 與 AD 相交於 R。

如此便形成了一個新的三角形 PQR。給你三角形 ABC,你要求出三角形 PQR 的面積。

輸入說明 :

輸入的第一行有一個整數 N (0<N<1001) 表示有幾筆測試資料。每筆測資一行,其中有六個浮點數 Ax, Ay, Bx, By, Cx, Cy. (0≤Ax, Ay, Bx, By, Cx,Cy ≤10000)。這六個數字表示點 A, B, C 的座標分別為 (Ax, Ay), (Bx, By) 及 (Cx, Cy)。A, B 及 C 不會在同一直線上。

輸出說明 :

對於每一組輸入測資要產生一行輸出。這行輸出要有一個整數 AREA, 代表三角形 PQR 的面積,四捨五入到整數位。

範例輸入 :

若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。

2

3994.707 9251.677 4152.916 7157.810 5156.835 2551.972

6903.233 3540.932 5171.382 3708.015 213.959 2519.852

範例輸出 :

98099

206144

提示 :

背景知識: 解析幾何

三角形 ABC 的面積 = |AxBy - AyBx + BxCy - ByCx + CxAy - CyAx| / 2

C++程式碼