Pagini recente » Istoria paginii runda/inforace__../clasament | Cod sursa (job #659422) | Cod sursa (job #2761311) | Cod sursa (job #571110) | Cod sursa (job #2185194)
#include <cstdio>
using namespace std;
struct punct {
double x;
double y;
};
punct v[100001],o;
double modul (double x){
if (x>=0)
return x;
return -x;
}
double arie (punct a,punct b,punct c){
return (b.x-a.x)*(c.y-a.y)-(c.x-a.x)*(b.y-a.y);
}
int main()
{
FILE *fin=fopen ("aria.in","r");
FILE *fout=fopen ("aria.out","w");
int i,n;
double sol;
fscanf (fin,"%d",&n);
for (i=1;i<=n;i++){
fscanf (fin,"%lf%lf",&v[i].x,&v[i].y);
}
o.x=o.y=1.0*0;
sol=0;
for (i=1;i<n;i++)
sol+=arie(o,v[i],v[i+1]);
sol+=arie (o,v[n],v[1]);
fprintf (fout,"%.6lf",1.0*modul (sol)/2);
return 0;
}