Cod sursa(job #899888)
| Utilizator | Data | 28 februarie 2013 16:44:07 | |
|---|---|---|---|
| Problema | Aria | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include<fstream>
#include<cstdio>
#include<cmath>
using namespace std;
int n;
struct Punct{double x,y;};
Punct P[100100];
double arie;
inline double Det(Punct A,Punct B)
{
return A.x*B.y-A.y*B.x;
}
int main()
{
int i;
freopen("aria.in","r",stdin);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%lf %lf",&P[i].x,&P[i].y);
P[0]=P[n];
for(i=0;i<n;i++)
arie+=Det(P[i],P[i+1]);
arie=abs(arie);
arie/=2.0;
freopen("aria.out","w",stdout);
printf("%.6lf\n",arie);
return 0;
}
