Cod sursa(job #1058286)

Utilizator Pop_EmilPal Tamas Pop_Emil Data 15 decembrie 2013 12:59:15
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <algorithm>
#include <iostream>
using namespace std;
#include <stdio.h>
#include <math.h>

#define HOR -99999999
FILE *in=fopen("trapez.in","r"),*out=fopen("trapez.out","w");

int N;
long REZ=0;
struct punct
{
    int x,y;
}p[1002];


long double t[1000020 ];

void _read()
 {
   fscanf(in,"%d",&N);

  for(int i=0;i<N;i++)
    {
     fscanf(in,"%d",&p[i].x);
     fscanf(in,"%d",&p[i].y);
    }

 }


int main()
{
int k=0,i,j;
_read();

 for( i=0;i<N;i++)
  for( j=i+1;j<N;j++)
   {

      if(p[i].y!=p[j].y)
       t[k]= (float)(p[i].x-p[j].x)/(p[i].y-p[j].y);
      else
       t[k]=HOR;

     k++;
  };

 sort(t,t+k);

  for( i=0;i<k;i++)
  {
   j=i+1;
    while(fabs(t[i]-t[j]) < 0.001 )
     j++;

   j=j-i;
   REZ+=j*(j-1)/2;

  }

  fprintf(out,"%ld",REZ);

return 0;
}