Pagini recente » Cod sursa (job #2813994) | Cod sursa (job #2605738) | Cod sursa (job #808974) | Cod sursa (job #612412) | Cod sursa (job #497337)
Cod sursa(job #497337)
#include <stdio.h>
#include <algorithm>
using namespace std;
FILE *f=fopen("trapez.in","r"),*g=fopen("trapez.out","w");
int n,i,j,k;
long long sol;
struct punct{int x;int y;};
punct a[1001];
double z[1000001];
int main(void)
{
fscanf(f,"%d",&n);
k=0;
for (i=1;i<=n;i++)
{
fscanf(f,"%d%d",&a[i].x,&a[i].y);
for (j=1;j<i;j++)
{
if (a[i].x-a[j].x!=0)
{
z[++k]=(a[i].y-a[j].y);
z[k]/=(a[i].x-a[j].x);}
else z[++k]=123456;
}
}
sort(z+1,z+k+1);
i=1;
while (i<k)
{
int c=1;
while (z[i]==z[i+1] && i<k)
{i++; c++;}
sol+=c*(c-1)/2;
if (c==1) i++;
}
fprintf(g,"%lld\n",sol);
return 0;
}