Pagini recente » Cod sursa (job #2226472) | Cod sursa (job #1347684) | Cod sursa (job #3201299) | Cod sursa (job #992182) | Cod sursa (job #1347689)
#include<cstdio>
#include<algorithm>
using namespace std;
struct aa{long long x,y;};
aa vv[1001];
double v[1000001];
bool sortare(double a, double b)
{return a<b;
}
int main ()
{freopen ("trapez.in","r",stdin);
freopen ("trapez.out","w",stdout);
int n,i,j,a=0,b=0,k=0,x,q;
long long s=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%lld%lld",&vv[i].x,&vv[i].y);
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
{if(vv[i].x==vv[j].x)
a++;
else
if(vv[i].y==vv[j].y)
b++;
else
{k++;
v[k]=1.0*(vv[i].x-vv[j].x)/(vv[i].y-vv[j].y);
}
}
s=a*(a-1)/2+b*(b-1)/2;
sort(v+1,v+k+1,sortare);
for(i=2;i<=k;i++)
{q=1;
while(v[i]==v[i-1])
{q++;
i++;
}
s+=q*(q-1)/2;
}
printf("%lld",s);
return 0;
}