Cod sursa(job #1525262)

Utilizator CosminAlexCojocaruCojocaru Cosmin CosminAlexCojocaru Data 14 noiembrie 2015 21:46:07
Problema Aria Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.98 kb
#include <iostream>
#include <math.h>
#include <fstream>
#include <iomanip>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
ifstream fin("aria.in");
ofstream g("aria.out");
struct puncte{double x ; double y;}v[100000];;
long long int i,j,n;
float a,b,c,p,s;
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i].x>>v[i].y;
    for(i=1;i<=n-2;i++)
    {


        /*a=(float)sqrt(pow(punct[1].x-punct[i].x,2)+pow(punct[1].y-punct[i].y,2));
        b=(float)sqrt(pow(punct[i].x-punct[i+1].x,2)+pow(punct[i].y-punct[i+1].y,2));
        c=(float)sqrt(pow(punct[i+1].x-punct[1].y,2)+pow(punct[i+1].y-punct[1].y,2));


        p=(float)(a+b+c)/2;


       // cout<<a<<"  "<<b<<" " <<c<<" "<<p<<endl;
        s+=(float)sqrt(p*(p-a)*(p-b)*(p-c));*/

        s+=(float)(v[i].x*v[i+1].y+v[i+1].x*v[i+2].y+v[i+2].x*v[i].y-v[i+1].y*v[i+2].x-v[i+2].y*v[i].x-v[i].y*v[i+1].x)/2;
        if(s<0) s=-1*s;


    }

    g<<fixed;
    g<<setprecision(5)<<s;
}