Cod sursa(job #1171817)

Utilizator roxana.istratePoenaru Roxana roxana.istrate Data 16 aprilie 2014 13:35:39
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <vector>
#include <stdlib.h>
#include <iomanip> 
#include <cmath>
#include <cstdio>
#define max 1000000
using namespace std;

int N;
vector< pair<double,double> > points;

double tri_area(pair<double, double> p1, pair<double,double> p2){
	
	return p1.first * p2.second - p2.first * p1.second;
}

double find_area(){
	double area = 0;
	for(int i = 0; i < N-1; i++){
		area += tri_area(points[i],points[i+1]);
	}
	area += tri_area(points[N-1], points[0]);
	return abs(area/2.);
}

int main(){
	freopen("aria.in","r",stdin);
	freopen("aria.out","w",stdout);
	scanf("%d",&N);
	double x, y;
	// aleg arbitrar (0, 0)
	for(int i = 0; i < N; i++){
		scanf("%lf %lf",&x,&y);
		points.push_back(make_pair(x,y));
	}
	printf("%lf", find_area());
	return 0;
}