Cod sursa(job #1472395)
Utilizator | Data | 17 august 2015 03:43:14 | |
---|---|---|---|
Problema | Aria | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include<assert.h>
#include<stdio.h>
#include<math.h>
typedef struct P { double x,y; }v[100005];
int i,n;
double s;
int main() {
assert(freopen("aria.in","r",stdin)),assert(freopen("aria.out","w",stdout)),assert(scanf("%d",&n)==1),assert(1<=n&&n<=100000);
for(i=0;i<n;++i)
assert(scanf("%lf%lf",&v[i].x,&v[i].y)==2),assert(-10000000<=v[i].x&&v[i].x<=10000000),assert(-10000000<=v[i].y&&v[i].y<=10000000);
for(v[n]=v[0],i=0;i<n;++i)
s+=(v[i].x*v[i+1].y-v[i+1].x*v[i].y);
printf("%lf",fabs(s/2.0));
}