Pagini recente » Cod sursa (job #1766275) | Cod sursa (job #2360370) | Cod sursa (job #2624017) | Cod sursa (job #737276) | Cod sursa (job #2932770)
#include <bits/stdc++.h>
#define x first
#define y second
using namespace std;
using pii = pair<int, int>;
ifstream fin( "trapez.in" );
ofstream fout( "trapez.out" );
const int DIM = 1005;
pii v[DIM], Q[DIM][DIM];
map<pii, int> M;
int main() {
int n;
fin >> n;
for ( int i = 0; i < n; ++i ) {
fin >> v[i].x >> v[i].y;
for ( int j = 0; j < i; ++j ) {
int d = __gcd(v[i].x - v[j].x, v[i].y - v[j].y);
int a = (v[i].x - v[j].x) / d, b = (v[i].y - v[j].y) / d;
Q[i][j] = {a, b};
++M[Q[i][j]];
++M[{-a, -b}];
}
}
int res = 0;
for ( int i = 0; i < n; ++i ) {
for ( int j = 0; j < i; ++j ) {
res += M[Q[i][j]] - 1;
}
}
fout << res / 2;
fin.close();
fout.close();
return 0;
}