Pagini recente » Cod sursa (job #1203677) | Cod sursa (job #1991044) | Cod sursa (job #2201767) | Cod sursa (job #1791639) | Cod sursa (job #342851)
Cod sursa(job #342851)
#include<stdio.h>
int n;
long i,v[1001][2],j,p1,p2,c,f,z,u,x[1000001][3],s;
long cmmdc (long a,long b)
{
long aux;
while(a%b)
{aux=a%b;
a=b;
b=aux;
}
return b;
}
int main ()
{
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%ld%ld",&v[i][0],&v[i][1]);
for(j=i-1;j>=1;j--)
{
p1=v[i][0]-v[j][0];
if(p1<0)
p1=p1*-1;
p2=v[i][1]-v[j][1];
if(p2<0)
p2=p2*-1;
if(p1!=0 && p2!=0)
{
c=cmmdc(p1,p2);
p1=p1/c;
p2=p2/c;
}
f=0;
for(z=1;z<=u;z++)
{if(x[z][1]==p1 && x[z][2]==p2)
{
x[z][0]++;f=1;break;
}
}
if(!f)
{
x[++u][1]=p1;
x[u][2]=p2;
x[u][0]=1;
}
}//for 2
}//for 1
for(i=1;i<=u;i++)
{
if(x[i][0]%2==1)
s=s+(x[i][0]-1)/2*x[i][0];
else
s=s+x[i][0]/2*(x[i][0]-1);
}
printf("%ld",s);
return 0;
}