Pagini recente » Rating Carla Rusu (CookieW101) | Cod sursa (job #41668) | Cod sursa (job #1306514) | Cod sursa (job #3289848) | Cod sursa (job #1331503)
#include <iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
float pante[500001];
struct puncte{int xx, yy;};
puncte v[1001];
int main()
{
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
int n,x,y,i,perpen,trapez,k,j,secv;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d%d",&v[i].xx,&v[i].yy);
k=0;
perpen=0;
for(i=1;i<=n-1;i++)
{
for(j=i+1;j<=n;j++)
{
if(v[i].xx-v[j].xx==0)
perpen++;
else
pante[++k]=(float)(v[i].yy-v[j].yy)/(v[i].xx-v[j].xx);
}
}
trapez=(perpen-1)*perpen/2;
sort(pante+1,pante+k+1);
secv=1;
for(i=2;i<=k;i++)
{
if(pante[i]==pante[i-1])
secv++;
else
{
trapez=trapez+(secv-1)*secv/2;
secv=1;
}
}
trapez+=(secv-1)*secv/2;
printf("%d",trapez);
return 0;
}