Cod sursa(job #1090940)
Utilizator | Data | 23 ianuarie 2014 11:57:20 | |
---|---|---|---|
Problema | Aria | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include<cstdio>
struct punct
{
double x,y;
};
punct p1,p2,po;
int i,n;
double s;
int main()
{
freopen("aria.in","rt",stdin);
freopen("aria.out","wt",stdout);
scanf("%ld",&n);
for(i=1;i<=n;i++)
{
scanf("%lf%lf",&p2.x,&p2.y);
if(i==1)
po=p2;
else
{
s+=(p1.y+p2.y)*(p2.x-p1.x);
}
p1=p2;
}
s+=(p1.y+po.y)*(po.x-p1.x);
if(s<0) s=-s;
printf("%.5lf",s/2);
}