Cod sursa(job #976161)
Utilizator | Andretti Naiden andretti | Data | 22 iulie 2013 17:37:29 |
---|---|---|---|
Problema | Aria | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include<stdio.h>
#include<math.h>
#define maxn 100005
using namespace std;
struct point{double x,y;} p[maxn];
int n;
double area;
void read()
{
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%lf%lf",&p[i].x,&p[i].y);
p[n+1]=p[1];
}
void solve()
{
for(int i=1;i<=n;i++)
area+=p[i].x*p[i+1].y-p[i].y*p[i+1].x;
printf("%lf",area/2);
}
int main()
{
freopen("aria.in","r",stdin);
freopen("aria.out","w",stdout);
read();
solve();
fclose(stdin);
fclose(stdout);
return 0;
}