Cod sursa(job #1141690)

Utilizator TarabanDragosTaraban Dragos-Petru TarabanDragos Data 13 martie 2014 01:41:39
Problema Trapez Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<cstdio>
#include<algorithm>
using namespace std;
int n,a,b,x[1010],y[1010],i,j,nr,nmax,np;
long double p[1000100];
FILE *f,*g;
int main(){
    f=fopen("trapez.in","r");
    g=fopen("trapez.out","w");
    fscanf(f,"%d",&n);
    for(i=1;i<=n;i++){
        fscanf(f,"%d%d",&x[i],&y[i]);
    }
    for(i=1;i<n;i++){
        for(j=i+1;j<=n;j++){
            a=x[i]-x[j];
            b=y[i]-y[j];
            if(a!=0)
                p[++nr]=(long double)b*1.0/a;
            else{
                a++;
            }
        }
    }
    nmax=a*(a+1)/2;
    a=0;
    sort(p+1,p+nr+1);
    for(i=1;i<=nr;i++){
        if(p[i]==p[i-1])
            a++;
        else{
            nmax+=a*(a-1)/2;
            a=1;
        }
    }
    fprintf(g,"%d",nmax);






    fclose(f);
    fclose(g);
    return 0;
}