Pagini recente » Cod sursa (job #2568507) | Cod sursa (job #1237639) | Cod sursa (job #2283537) | Cod sursa (job #1005391) | Cod sursa (job #514427)
Cod sursa(job #514427)
#include <stdio.h>
#include <math.h>
#include <algorithm>
using namespace std;
int v[2][1001],n,p,s,c,x,y;
double cosinus[1000001],cat;
int main()
{
int i,j;
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;++i) scanf("%d%d",&v[0][i],&v[1][i]);
for (i=1;i<=n;++i)
for (j=i+1;j<=n;++j)
{
++c;
x=v[0][i]-v[0][j];
y=v[1][i]-v[1][j];
if (y<0)
{
x=-x;
y=-y;
}
else if ((y==0)&&(x<0)) x=-x;
cat=(double)sqrt(x*x+y*y);
cosinus[c]=(double)x/cat;
}
sort(cosinus+1,cosinus+c+1);
for (i=2;i<=c;++i)
if ((int)(cosinus[i]*100000)==(int)(cosinus[i-1]*100000)) ++p;
else
{
s+=p*(p+1)/2;
p=0;
}
if (p) s+=p*(p+1)/2;
printf("%d",s);
return 0;
}