Cod sursa(job #1411874)
Utilizator | Savu Ioan Daniel danyro364 | Data | 31 martie 2015 23:38:53 |
---|---|---|---|
Problema | Aria | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#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-1)-b.x*(a.y-1)+a.y-b.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;
}