Pagini recente » Cod sursa (job #2029621) | Cod sursa (job #314822) | Rating Saru George (Georgica03) | Cod sursa (job #307959) | Cod sursa (job #687099)
Cod sursa(job #687099)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
typedef struct {int x,y;} PUNCT;
ifstream fi("trapez.in");
ofstream fo("trapez.out");
int a,b,n,i,j,k,rez;
PUNCT P[1005];
double D[1000005],t1;
int main()
{
fi>>n;
for (i=1;i<=n;i++)
fi>>P[i].x>>P[i].y;
k=0;
for (i=1;i<=n;i++)
for (j=i+1;j<=n;j++)
{
k++;
a=P[i].y-P[j].y;
b=P[i].x-P[j].x;
if (b!=0)
D[k]=(double)a/b;
else
D[k]=800000080;
}
/*
for (i=1;i<=k;i++)
{
t1=D[i].a;
t2=D[i].b;
cout<<P[t1].x<<" "<<P[t1].y<<" "<<P[t2].x<<" "<<P[t2].y<<" "<<D[i].aa<<" "<<D[i].bb<<" "<<D[i].p<<endl;
}
*/
sort(D+1,D+k+1);
rez=0;
a=1;
t1=D[1];
for (i=2;i<=k;i++)
{
if (D[i]==t1)
a++;
else
{
rez+=(a*(a-1))/2;
a=1;
}
t1=D[i];
}
fo<<rez<<endl;
return 0;
}