Pagini recente » Cod sursa (job #2899758) | Cod sursa (job #1668841) | Cod sursa (job #2395367) | Cod sursa (job #1383839) | Cod sursa (job #2880424)
#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=b.x-a.x;
rez.y=b.y-a.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;
}
}
rez+=l*(l-1)/2;
cout<<rez;
return 0;
}