Pagini recente » Cod sursa (job #1914266) | Cod sursa (job #2971969) | Cod sursa (job #2871474) | Cod sursa (job #249109) | Cod sursa (job #1331510)
#include <iostream>
#include<cstdio>
#include<algorithm>
#define INF 666013
using namespace std;
double pante[1000*1000+4];
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=0,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)
pante[++k]=INF;
else
pante[++k]=(double)(v[i].yy-v[j].yy)/(v[i].xx-v[j].xx);
}
}
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;
}