Pagini recente » Cod sursa (job #1877746) | Cod sursa (job #1938895) | Monitorul de evaluare | Cod sursa (job #2696598) | Cod sursa (job #2880376)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("trapez.in");
ofstream cout("trapez.out");
#define ll long long
struct ura{
ll x,y;
} v[1001],vpant[1000001];
ura fpant(ura a,ura b)
{
ura rez;
rez.x=a.x-b.x;
rez.y=a.y-b.y;
return rez;
}
bool cmp(ura a,ura b)
{
return (a.x*b.y)<(a.y*b.x);
}
int main()
{
ll i,n,j,m=0,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].y==vpant[i].y==vpant[i-1].x)
l++;
else
{
rez+=l*(l-1)/2;
l=1;
}
}
cout<<rez;
return 0;
}