Pagini recente » Cod sursa (job #3200876) | Cod sursa (job #598728) | Cod sursa (job #1835375) | Cod sursa (job #3126460) | Cod sursa (job #1831641)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in ("trapez.in");
ofstream out ("trapez.out");
const int N = 1005;
struct punct
{
int x, y;
};
punct p[N];
struct panta
{
int sus, jos;
};
panta m[N*N];
bool cmpanta (panta a, panta b)
{
return (a.sus * b. jos < b.sus * a.jos);
}
int main()
{
int n, i, j;
in >> n;
for(i = 1; i <= n; i++)
in >> p[i].x >> p[i].y;
int cate = 1;
for(i = 1; i <= n; i++)
for(j = 1; j <= n; j++)
if(i != j)
{
m[cate].sus = p[j].y - p[i].y;
m[cate].jos = p[j].x - p[i].x;
cate++;
}
sort(&m[1], &m[cate], cmpanta);
int egale = 1;
int ans = 0;
/*for(i = 1; i <= cate; i++)
out <<m[i].sus<<m[i].jos<<endl;*/
for(i = 2; i < cate; i++)
{
if(m[i].sus * m[i-1]. jos == m[i-1].sus * m[i].jos)
egale ++;
else
{
ans += egale*(egale-1)/2;
egale = 1;
}
}
out << ans;
return 0;
}