Cod sursa(job #2378768)

Utilizator mateibanuBanu Matei Costin mateibanu Data 12 martie 2019 16:49:15
Problema Aria Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;

double calc(double x1, double y1, double x2, double y2, double x3, double y3){
    double m,n,h,d;
    m=(y1-y2)/(x1-x2);
    //abs(ax+by+c)/rad(ap+bp);
    n=y1-m*x1;
    h=fabs(m*x3+n-y3)/sqrt(m*m+1);
    d=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
    return h*d/2.;
}

int main()
{
    freopen("aria.in","r",stdin);
    freopen("aria.out","w",stdout);
    double aria=0,a,b,ux,uy,x,y;
    int i,n;
    scanf("%d%lf%lf",&n,&a,&b);
    if (n<3){
        printf("0");
        return 0;
    }
    scanf("%lf%lf",&ux,&uy);
    for (i=1;i<n-1;i++){
        scanf("%lf%lf",&x,&y);
        aria+=calc(a,b,ux,uy,x,y);
        ux=x;
        uy=y;
    }
    printf("%lf",aria);
    return 0;
}