Pagini recente » Cod sursa (job #2646888) | Cod sursa (job #1484762) | Cod sursa (job #1031199) | Cod sursa (job #1807308) | Cod sursa (job #1329373)
#include <fstream>
#include <algorithm>
#include <map>
#define x first
#define y second
using namespace std;
int n,i,j,x,y,gc,rasp;
ifstream f("trapez.in");
ofstream g("trapez.out");
pair<int,int> v[1001];
map<pair<int,int>,int> m;
int main()
{
f>>n;
for(i=1;i<=n;++i)
{
f>>v[i].x>>v[i].y;
}
for (i=1;i<=n;++i)
for(j=i+1;j<=n;++j)
{
x=abs(v[i].x-v[j].x);
y=abs(v[i].y-v[j].y);
gc=__gcd(x,y);
m[make_pair(x/gc,y/gc)]++;
}
for(map<pair<int,int>,int>::iterator it=m.begin();it!=m.end();++it)
{
rasp+=it->second*(it->second-1)/2;
}
g<<rasp/2;
return 0;
}