Pagini recente » Cod sursa (job #2722093) | Cod sursa (job #2688180) | Cod sursa (job #1156758) | Cod sursa (job #324647) | Cod sursa (job #2459043)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct punct{
int x, y;
}v[1005], p[1005*1005];
int mycmp(punct a, punct b)
{
return a.x*b.y<a.y*b.x;
}
int n, r, nr;
int main()
{
f>>n;
for (int i=1;i<=n;i++) f>>v[i].x>>v[i].y;
for (int i=1;i<=n;i++)
for (int j=i+1;j<=n;j++)
{ int s1=v[j].y-v[i].y;
int j1=v[j].x-v[i].x;
if (s1<0 && j1<0) s1=-s1, j1=-j1;
p[++nr].x=s1;
p[nr].y=j1;
}
sort (p+1, p+nr+1, mycmp);
/*for (int i=1;i<=nr;i++) g<<p[i].x<<" "<<p[i].y<<'\n';*/
int m=1;
for (int i=2;i<=nr;i++)
{ if (p[i].x*p[i-1].y==p[i-1].x*p[i].y) m++;
else {
r+=m*(m-1)/2;
m=1;
}
}
r+=m*(m-1)/2;
g<<r<<'\n';
return 0;
}