Pagini recente » Rating Dr Alex (DrAlex) | Cod sursa (job #906255) | Cod sursa (job #1777000) | Cod sursa (job #1237771) | Cod sursa (job #899569)
Cod sursa(job #899569)
#include<cstdio>
struct punct
{
double x,y;
}v[100013];
int n,i;
double a,minx,miny;
int main()
{
freopen("aria.in","r",stdin);
freopen("aria.out","w",stdout);
scanf("%d",&n);
scanf("%lf%lf",&v[0].x,&v[0].y);
minx=v[0].x;
miny=v[0].y;
for(i=1;i<n;++i)
{
scanf("%lf%lf",&v[i].x,&v[i].y);
if(v[i].x<minx)minx=v[i].x;
if(v[i].y<miny)miny=v[i].y;
}
if(minx<0)minx=1-minx; else minx=0;
if(miny<0)miny=1-miny; else miny=0;
for(i=0;i<n;++i)
{
v[i].x+=minx;
v[i].y+=miny;
}
v[n]=v[0];
for(i=0;i<n;++i) a+=(v[i].x*v[i+1].y-v[i].y*v[i+1].x);
if(a<0)a=-a;
printf("%lf",a/2);
return 0;
}