Cod sursa(job #1249802)
| Utilizator | Data | 27 octombrie 2014 15:17:53 | |
|---|---|---|---|
| Problema | Aria | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <fstream>
#include <cmath>
#include <iomanip>
#define NMAX 100001
using namespace std;
ifstream f("aria.in");
ofstream g("aria.out");
struct punct
{
double x,y;
}V[NMAX],Center;
int N;
long double A;
double det(punct C, punct A, punct B)
{
return C.x*A.y+A.x*B.y+B.x*C.y-B.x*A.y-A.x*C.y-C.x*B.y;
}
int main()
{
f>>N;
int i;
for(i=1;i<=N;i++)
f>>V[i].x>>V[i].y;
for(i=1;i<N;i++)
A+=det(Center,V[i],V[i+1]);
A+=det(Center,V[N],V[1]);
A/=2;
A=abs(A);
g<<fixed<<setprecision(6)<<A;
}
