Cod sursa(job #261718)

Utilizator ConsstantinTabacu Raul Consstantin Data 18 februarie 2009 18:40:16
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<stdio.h>
#include<algorithm>
using namespace std;

struct nod{int x,y;}v[1001];
int i,j,k,l,m,n;
long long int sol;
double x[1000001];
void fill(nod a,nod b){
x[++k]=double(b.y-a.y)/double(b.x-a.x);
}

int main(){

FILE *f=fopen("trapez.in","r");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
        fscanf(f,"%d%d",&v[i].x,&v[i].y);
for(i=1;i<=n;i++)

for(j=i+1;j<=n;j++)

        if(v[i].x<v[j].x)
                fill(v[i],v[j]);
        else
                fill(v[j],v[i]);
sort(x+1,x+1+k);
m=1;
for(i=2;i<=k;i++)
        if(x[i]==x[i-1])
                m++;
        else
                {sol+=((m-1)*m)/2;
                m=1;}

FILE *g=fopen("trapez.out","w");

fprintf(g,"%lld",sol);



return 0;}