Cod sursa(job #2507991)

Utilizator TudorChirila11Tudor Chirila TudorChirila11 Data 11 decembrie 2019 11:52:18
Problema Aria Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <bits/stdc++.h>
#define st first
#define nd second
#define pb push_back
using namespace std;
typedef long long ll;
int n, m, i, j;
const int N=100005;
FILE *fin=fopen("aria.in","r");
FILE *fout=fopen("aria.out","w");
pair<long double, long double> v[N];
long double ans;
long double aria(double xa, double ya, double xb, double yb, double xc, double yc)
{
	long double m[][5]={{xa,ya,1},{xb,yb,1},{xc,yc,1}};
	long double S;
	S=m[0][0]*m[1][1]*m[2][2]+m[0][1]*m[1][2]*m[2][0]+m[1][0]*m[2][1]*m[0][2];
	S-=m[0][2]*m[1][1]*m[2][0]+m[2][1]*m[1][2]*m[0][0]+m[1][0]*m[0][1]*m[2][2];
	return S/2;
}
int main()
{
	fscanf(fin,"%d",&n);
	for(i=1;i<=n;i++)
	fscanf(fin,"%LF%LF",&v[i].st,&v[i].nd);
	for(i=2;i<n;i++)
		ans+=aria(v[1].st,v[1].nd,v[i].st,v[i].nd,v[i+1].st,v[i+1].nd);
	fprintf(fout,"%0.6LF ",ans);
}