Pagini recente » Cod sursa (job #1732368) | Cod sursa (job #237064) | Cod sursa (job #1648725) | Cod sursa (job #1856398) | Cod sursa (job #2289568)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
int nr,k;
struct punct{
int x,y;
}a[1005];
struct panta{
int px,py;
}v[1005*1005];
inline bool cmp(const panta &p,const panta &q)
{
return p.py*q.px<p.px*q.py;
}
int main()
{
int i,j,n;
f>>n;
for(i=1;i<=n;i++)
{
f>>a[i].x>>a[i].y;
}
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
{
k++;
v[k].py=a[j].y-a[i].y;
v[k].px=a[j].x-a[i].x;
}
sort(v+1,v+k+1,cmp);
int sol=0;
for(i=1;i<=k;i++)
{
j=i;
nr=0;
while(j<=k&&v[i].py*v[j].px==v[i].px*v[j].py)
{
nr++;
j++;
}
i=j-1;
sol+=nr*(nr-1)/2;
}
g<<sol;
return 0;
}