Cod sursa(job #1013245)

Utilizator SCBbestofSocaciu-Cumpanasu Bogdan SCBbestof Data 20 octombrie 2013 17:52:53
Problema Aria Scor 70
Compilator c Status done
Runda Arhiva educationala Marime 0.79 kb
#include <stdio.h>
#include <stdlib.h>

double P0x,P0y,Paux1x,Paux1y,Paux2x,Paux2y,S=0;
int n,i;

double calc_matrix(double Ax, double Ay, double Bx, double By, double Cx, double Cy)
{
    return Ax*By+Cx*Ay+Bx*Cy-Cx*By-Bx*Ay-Ax*Cy;
}

int main()
{
    freopen("aria.in","r",stdin);
    freopen("aria.out","w",stdout);

    scanf("%d",&n);
    if((n==1)||(n==2))
    {
        printf("%lf",0);
    }
    else
    {
        scanf("%lf%lf",&P0x,&P0y);
        scanf("%lf%lf",&Paux1x,&Paux1y);

        for(i=1;i<=n;i++)
        {
            scanf("%lf%lf",&Paux2x,&Paux2y);
            S += calc_matrix(P0x,P0y,Paux1x,Paux1y,Paux2x,Paux2y);
            Paux1x=Paux2x;
            Paux1y=Paux2y;
        }
        S /=2;
        printf("%lf",S);
    }
    return 0;
}