Pagini recente » Cod sursa (job #1086918) | Profil GreenBud | Cod sursa (job #256951) | Cod sursa (job #1767551) | Cod sursa (job #1360912)
#include <fstream>
#include <cstdio>
#include <algorithm>
#define eps 1e-12
using namespace std;
int i,n,j,k,v[1500],x[1500],nr;
long long sol=0;
double p[3000010];
int main()
{
freopen("trapez.in","r",stdin);
ofstream g ("trapez.out");
scanf("%d\n",&n);
for(i=1; i<=n; i++)
scanf("%d %d\n",&v[i],&x[i]);
for(i=1; i<n; i++)
for(j=i+1; j<=n; j++)
if(v[i]-v[j]!=0){k++;p[k]=1.0*(x[i]-x[j])/(v[i]-v[j]);}
sort(p+1,p+k+1);
i=2;
while (i<=k)
{
nr=1;
while (p[i]-p[i-1]<eps&&p[i]-p[i-1]>-eps)
{
i++;
nr++;
}
sol+=1LL*nr*(nr-1)/2;
if (nr==1)i++;
}
g<<sol;
return 0;
}