题目描述
呆子是一个很聪明的人但也是一个很粗心的人,因此常常会丢三落四。一次老师给呆子留了一个很简单的题目,已知平面上一平行四边形的四个顶点,求这个平行四边形的面积。但粗心的呆子却只记了三个点的坐标,因此呆子现在和郁闷。你现在能帮助呆子计算一下老师留给呆子的平行四边形可能的最大面积是多少吗?
样例输入
2 1 2 3 4 5 6 17 28 89 67 189 25
样例输出
Error 6924.0
思路
O(3n)
对于一个三角形的面积,就是
(x1-x3)*(y2-y3)-(x2-x3)*(y1-y3)*0.5
虽然只给了三个点,但一个平行四边形就是沿对角线划分的两个全等的三角形。
var
n,i,j:longint;
l:double;
x,y:
array[
1..
3]
of real;
begin
readln(n);
for i:=
1 to n
do
begin
for j:=
1 to 3 do
read(x[j],y[j]);
l:=abs((x[
1]-x[
3])*(y[
2]-y[
3])-(x[
2]-x[
3])*(y[
1]-y[
3]));
if l=
0 then writeln(
'Error')
else writeln(l:
0:
1);
end;
end.
转载请注明原文地址: https://ju.6miu.com/read-23867.html