Pagini recente » Cod sursa (job #2882931) | Cod sursa (job #1835842) | Cod sursa (job #2499938) | Cod sursa (job #255467) | Cod sursa (job #1217013)
#include <cstdio>
#include <algorithm>
using namespace std;
struct punct {
int x,y;
}a[1000];
struct panta {
int numar,numit;
}b[500500];
int i,j,n,nr,p,u,m,l;
bool cmp(const panta a,const panta b)
{
if (b.numar*a.numit<b.numit*a.numar) return true;
else return false;
}
int main()
{
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
scanf("%d",&n);
for (i=0;i<n;i++)
scanf("%d%d",&a[i].x,&a[i].y);
for (i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
{
b[m].numar=a[j].y-a[i].y;
b[m].numit=a[j].x-a[i].x;
m++;
}
sort(b,b+m,cmp);
u=p=0;
while (u<m)
{
l=0;
while ((b[p].numar*b[u+1].numit==b[u+1].numar*b[p].numit) && (u<m-1)) u++;
l=u-p+1;
p=++u;nr+=l*(l-1)/2;
}
printf("%d",nr);
}