Cod sursa(job #914483)

Utilizator fhandreiAndrei Hareza fhandrei Data 14 martie 2013 10:32:38
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
// Include
#include <fstream>
#include <iomanip>
using namespace std;

#define type_point pair<long double, long double>
#define x first
#define y second

// Functii
long double det(type_point a, type_point b, type_point c)
{	return a.x*b.y + b.x*c.y + c.x*a.y - a.y*b.x - b.y*c.x - c.y*a.x;	}

// Variabile
ifstream in("aria.in");
ofstream out("aria.out");

int num;
type_point minPoint;
type_point current, previous;
long double area;

// Main
int main()
{
	out << fixed << setprecision(5);
	in >> num;
	in >> minPoint.x >> minPoint.y;
	in >> previous.x >> previous.y;
	
	for(int i=3 ; i<=num ; ++i)
	{
		in >> current.x >> current.y;
		area += det(minPoint, previous, current)/2;
		previous = current;
	}
	
	area = area<0? -area : area;
	out << area;
	
	in.close();
	out.close();
	return 0;
}