Pagini recente » Borderou de evaluare (job #873730) | Diferente pentru utilizator/challenge intre reviziile 44 si 26 | Diferente pentru ccex2009/10 intre reviziile 1 si 2 | Diferente pentru problema/vampir intre reviziile 39 si 40 | Cod sursa (job #1411881)
#include <cmath>
#include <cstdio>
#define nmax 100002
using namespace std;
FILE *f=fopen("aria.in","r"),*g=fopen("aria.out","w");
struct punct{
double x,y;
}v[nmax];
double arie;
double det(punct a, punct b)
{
return a.x*b.y-b.x*a.y;
}
int main()
{
int i,j,n;
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f,"%lf %lf",&v[i].x,&v[i].y);
v[++n]=v[1];
for(i=1;i<=n;i++)
arie+=det(v[i],v[i+1]);
fprintf(g,"%.6lf",abs(arie/2.0));
fclose(f);
fclose(g);
return 0;
}