Cod sursa(job #1656785)

Utilizator bercean.bogdanBogdan-Alexandru Bercean bercean.bogdan Data 19 martie 2016 19:45:28
Problema Trapez Scor 40
Compilator c Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <stdio.h>
#include <stdlib.h>
int v[100][2];

int x_edge(int a,int b)
{
    return v[a][0]-v[b][0];
}

int y_edge(int a,int b)
{
    return v[a][1]-v[b][1];
}

int test(int a,int b, int c, int d)
{
    int n=0;

    if(x_edge(a,b)*y_edge(c,d)==(x_edge(c,d)*y_edge(a,b))) n++;
    if(x_edge(a,c)*y_edge(b,d)==(x_edge(b,d)*y_edge(a,c))) n++;
    if(x_edge(a,d)*y_edge(c,b)==(x_edge(c,b)*y_edge(a,d))) n++;
    return n;
}

int main()
{
    FILE * fp=fopen("trapez.in","r");
    FILE * f=fopen("trapez.out","w");
    int n,i,N=0,a,b,c,d;

    fscanf(fp,"%d\n",&n);

    for(i=0;i<n;i++)
    {
        fscanf(fp,"%d %d",&v[i][0],&v[i][1]);
    }

    for(a=0;a<n;a++)
    {
        for(b=a+1;b<n;b++)
        {
            for(c=b+1;c<n;c++)
            {
                for(d=c+1;d<n;d++)
                {
                    N+=test(a,b,c,d);
                }
            }
        }
    }

    fprintf(f,"%d",N);
    return 0;
}