Cod sursa(job #905950)

Utilizator roots4Irimia Alexandru Gabriel roots4 Data 6 martie 2013 12:41:39
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<stdio.h>
#include<fstream>
#define max_n 100010

using namespace std;

ifstream f("aria.in");
FILE*g=fopen("aria.out","w");

struct punct{
	double x;
	double y;
}V[max_n];

int n;
double a_total;
	
void read(){
	
	f>>n;
	
	for(int i = 1 ; i <= n ; i++)
		f>>V[i].x>>V[i].y;
	
}

double arie( punct b , punct c){
	
	return ( c.x*b.y  - b.x*c.y ) / 2;
	
}

double abs( double x ){
	if(x < 0)
		return -x;
	return x;
}

void solve(){
	
	a_total += arie( V[n] , V[1]);
	
	for(int i = 2 ; i <= n ; i++)
		a_total += arie( V[i-1] , V[i]);
	
	fprintf(g , "%f" , abs( a_total ) );
}

int main(){
	
	read();
	
	solve();
	
	
	return 0;
}