Pagini recente » Cod sursa (job #2933069) | Cod sursa (job #2050736) | Cod sursa (job #603598) | Cod sursa (job #1135268) | Cod sursa (job #2453092)
#include <bits/stdc++.h>
#define NMAX 1000
#define HORIZONTAL_SLOPE 2000000001
using namespace std;
struct COORD{
int x, y;
}v[NMAX + 1];
vector<long double> slope;
int main() {
ifstream fin("trapez.in");
ofstream fout("trapez.out");
int n, i, j;
fin>>n;
for( i = 1; i <= n; i ++ )
fin>>v[i].x>>v[i].y;
for( i = 1; i < n; i ++ )
for( j = i + 1; j <= n; j ++ ) {
long double m;
if( v[i].x == v[j].x )
m = HORIZONTAL_SLOPE;
else
m = (long double)((long double)(v[j].y - v[i].y) / (long double)(v[j].x - v[i].x));
slope.push_back(m);
}
sort(slope.begin(),slope.end());
long long ans = 0;
int same = 1;
for( i = 0; i < slope.size(); i ++ ) {
if( slope[i] == slope[i + 1] )
same ++;
else {
if( same > 1 )
ans += same * (same - 1) / 2;
same = 1;
}
}
fout<<ans;
return 0;
}