Pagini recente » Cod sursa (job #146587) | Cod sursa (job #880780) | Cod sursa (job #2852648) | Cod sursa (job #147530) | Cod sursa (job #1058348)
#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;
unsigned 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]= (double)(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-1 ;i++)
{
j=i+1;
while(t[i]==t[j] )
j++;
j=j-i;
i+=j-1;
REZ+=j*(j-1)/2;
}
fprintf(out,"%lu",REZ);
return 0;
}