Cod sursa(job #2270842)

Utilizator Catalin_BorzaBorza Catalin-Mihai Catalin_Borza Data 27 octombrie 2018 17:26:42
Problema Aria Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#include <iomanip>
using namespace std;

ifstream f("aria.in");
ofstream g("aria.out");

struct point
{
	double x, y;
};

double sf(int n)
{
	double surface = 0;
	point p1, p2, ps;
	if (n < 3)
		return 0;
	f >> ps.x >> ps.y >> p2.x >> p2.y;
	p1 = ps;
	for (int i = 0; i < n; i++)
	{
		surface += (p1.y + p2.y) / 2 * (p2.x - p1.x);
		p1 = p2;
		f >> p2.x >> p2.y;
	}
	surface += (p2.y + ps.y) / 2 * (ps.x - p2.x);
	return surface;
}

int main()
{
	int n;
	f >> n;
	double x = sf(n);
	if (x < 0) x = -x;
	g << setprecision(6) << x;
	return 0;
}