HDU P2036 改革春风吹满地

题目大意:
有多个N边形,给出它的N个点的坐标,求出它的面积。

题解;
叉积:
n变形的面积可用叉积求多边形面积公式,
S=0.5*abs(x1*y2-x2*y1+x2*y3-x3*y2+……+xn*y1-x1*yn)

var
       a:array [0..101,1..2] of longint;
       n,i:longint;
       ans:real;
begin
       read(n);
       while n<>0 do
             begin
                ans:=0;
                for i:=1 to n do
                    read(a[i,1],a[i,2]);
                a[0,1]:=a[n,1];
                a[0,2]:=a[n,2];
                for i:=1 to n do
                    ans:=ans+abs(a[i-1,1]*a[i,2]-a[i,1]*a[i-1,2]);
                ans:=ans/2;
                writeln(ans:0:1);
                readln;
                read(n);
             end;
end.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值