Pagini recente » Cod sursa (job #618695) | Cod sursa (job #1304663) | Cod sursa (job #1391473) | Cod sursa (job #1491979) | Cod sursa (job #323131)
Cod sursa(job #323131)
#include<stdio.h>
long long i,j,n,nr,t;
long double m;
struct cord
{ long long x;
long long y;
}a[1001];
struct punct
{ cord A;
cord B;
} b[1000001];
int main()
{ freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++) scanf("%lld %lld",&a[i].x,&a[i].y);
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++) { nr++;
b[nr].A.x=a[i].x;
b[nr].A.y=a[i].y;
b[nr].B.x=a[j].x;
b[nr].B.y=a[j].y;
}
for(i=1;i<=nr;i++) for(j=i+1;j<=nr;j++) if((b[i].A.x!=b[j].A.x||b[i].A.y!=b[j].A.y)&&(b[i].B.x!=b[j].B.x||b[i].B.y!=b[j].B.y) )
{ if((b[i].B.x-b[i].A.x)==0) m=0;
else { m=(float)(b[i].B.y -b[i].A.y)/(b[i].B.x-b[i].A.x);
if((b[j].B.x-b[j].A.x)==0) { if(m==0) t++;}
else if( m==((float)(b[j].B.y -b[j].A.y)/(b[j].B.x-b[j].A.x))) t++;
}
}
printf("%lld\n",t);
fclose(stdin);
fclose(stdout);
return 0;
}