Cod sursa(job #920683)

Utilizator ChallengeMurtaza Alexandru Challenge Data 20 martie 2013 16:26:17
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
#include <iomanip>

using namespace std;

const char InFile[]="aria.in";
const char OutFile[]="aria.out";

ifstream fin(InFile);
ofstream fout(OutFile);

struct Point
{
	long double x,y;
};

int N;
long double area;
Point Pi,Pi1,P1,O;

inline double Det(const Point &A, const Point &B, const Point &C)
{
	return (B.x-A.x)*(C.y-A.y)-(B.y-A.y)*(C.x-A.x);
}

inline double Abs(const double &x)
{
	if(x<0)
	{
		return -x;
	}
	return x;
}

int main()
{
	fin>>N;
	fin>>P1.x>>P1.y;
	Pi=P1;
	for(register int i=2;i<=N;++i)
	{
		Pi1=Pi;
		fin>>Pi.x>>Pi.y;
		area+=Det(O,Pi1,Pi);
	}
	area+=Det(O,Pi,P1);
	fin.close();

	area=Abs(area);
	area*=0.5;

	fout<<fixed<<setprecision(10);
	fout<<area;
	fout.close();
	return 0;
}