Cod sursa(job #1995016)

Utilizator DawlauAndrei Blahovici Dawlau Data 26 iunie 2017 20:37:33
Problema Aria Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include<fstream>
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
long double modul(long double n){
    if(n<0)
        n=-n;
    return n;
}
long double determinant(pair<long double,long double>P1,pair<long double,long double>P2,pair<long double,long double>P3){
    return P1.first*P2.second+P2.first*P3.second+P3.first*P1.second-P3.first*P2.second-P2.first*P1.second-P1.first*P3.second;
}
int main(){
    int i,n;
    fin>>n;
    long double x,y,arie=0;
    fin>>x>>y;
    pair<long double,long double>P1=make_pair(x,y);
    fin>>x>>y;
    pair<long double,long double>P2=make_pair(x,y);
    for(i=3;i<=n;++i){
        fin>>x>>y;
        pair<long double,long double>P3=make_pair(x,y);
        arie+=modul(determinant(P1,P2,P3));
        P2=P3;
    }
    fout<<arie/2;
}