Pagini recente » Cod sursa (job #1627329) | Cod sursa (job #2047854) | Cod sursa (job #1284128) | Cod sursa (job #1339613) | Cod sursa (job #54049)
Cod sursa(job #54049)
#include <stdio.h>
long x[1001],y[1001],a[1000],b[1000],n,i,j,c,l;
long double d[1000],e;
long long nr;
long cmmdc(long v,long w)
{long r;
while(w){r=v%w;v=w;w=r;}
return v;
}
int main()
{freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
fscanf(stdin,"%ld",&n);
for(i=1;i<=n;i++)
{fscanf(stdin,"%ld%ld",&x[i],&y[i]);
for(j=1;j<i;j++)
{a[++l]=y[i]-y[j];b[l]=x[i]-x[j];
d[l]=(x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]);
c=cmmdc(a[l],b[l]);
if(c){a[l]/=c;b[l]/=c;}
if(a[l]*b[l]<0){if(a[l]>0)a[l]=-a[l];if(b[l]<0)b[l]=-b[l];}
if(a[l]==0&&b[l]<0)b[l]=-b[l];
if(b[l]==0&&a[l]<0)a[l]=-a[l];
}
}
for(i=1;i<l;i++)
for(j=i+1;j<=l;j++)
{if(a[i]>a[j]){c=a[i];a[i]=a[j];a[j]=c;c=b[i];b[i]=b[j];b[j]=c;e=d[i];d[i]=d[j];d[j]=e;}
else if(a[i]==a[j]&&b[i]>b[j]){c=b[i];b[i]=b[j];b[j]=c;e=d[i];d[i]=d[j];d[j]=e;}
}
for(i=2;i<=l;i++)
{if(a[i]==a[i-1]&&b[i]==b[i-1])
{nr++;if(d[i]==d[i-1])nr++;}
}
fprintf(stdout,"%lld",nr);
fclose(stdin);fclose(stdout);
return 0;
}