Pagini recente » Cod sursa (job #3032561) | Cod sursa (job #3172380) | Cod sursa (job #1793650) | Cod sursa (job #2293265) | Cod sursa (job #2878419)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("trapez.in");
ofstream cout("trapez.out");
struct ura{
int x,y;
} v[1001],vpant[1000001];
int modul(int a)
{
if(a<0)
return -a;
return a;
}
ura fpant(ura a,ura b)
{
ura rez;
rez.x=modul(a.x-b.x);
rez.y=modul(a.y-b.y);
return rez;
}
bool cmp(ura a,ura b)
{
return (a.x*b.y)<(a.y*b.x);
}
int main()
{
int i,n,j,m,rez,l;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>v[i].x>>v[i].y;
}
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
{
m++;
vpant[m]=fpant(v[i],v[j]);
}
sort(vpant+1,vpant+m+1,cmp);
l=1;
rez=0;
for(i=2;i<=m;i++)
{
if(vpant[i].x==vpant[i-1].x && vpant[i].y==vpant[i-1].y)
l++;
else
{
rez+=l*(l-1)/2;
l=1;
}
}
cout<<rez;
return 0;
}