計算面積 (SSL_1715)


Description

  呆子是一個很聰明的人但也是一個很粗心的人,因此常常會丟三落四。一次老師給呆子留了一個很簡單的題目,已知平面上一平行四邊形的四個頂點,求這個平行四邊形的面積。但粗心的呆子卻只記了三個點的座標,因此呆子現在和鬱悶。你現在能幫助呆子計算一下老師留給呆子的平行四邊形可能的最大面積是多少嗎?

Input

  首先輸入一個整數t表示測試數據的組數(1 =< t <= 30),接下來的t行,每行三對整數,表示呆子已知的平行四邊形的頂點座標。每對整數x, y(0<=x, y <= 10000)中第一個數表示橫座標,第二個數表示縱座標。每組輸入保證是三個不同的點。

Output

共輸出t行,第i行爲第i組數據的最大可能面積。
輸出結果保留一位小數。如果這樣的平行四邊形不存在,即求得的面積大小爲0則輸出Error。

Sample Input

2
1 2 3 4 5 6
17 28 89 67 189 25

Sample Output

Error
6924.0

思路:

用三個點的座標求面積,用叉積求

var
 y,x:Array[0..4] of longint;
 i,j,n,t:longint;
 s:real;
begin
 read(n);
 for i:=1 to n do
   begin
     for j:=1 to 3 do
       read(x[j],y[j]);
     s:=abs((x[2]-x[1])*(y[3]-y[1])-(x[3]-x[1])*(y[2]-y[1]));
     if s=0 then write('Error')
      else write(s:0:1);
   end;
end.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章