Pagini recente » Cod sursa (job #1833921) | Cod sursa (job #1199346) | Cod sursa (job #2659448) | Cod sursa (job #1429019) | Cod sursa (job #2843097)
#include <iostream>
#include <fstream>
#include <map>
using namespace std;
ifstream fin( "trapez.in" );
ofstream fout( "trapez.out" );
map <double, int> panta;
struct punct{
int x;
int y;
};
punct v[1000];
int main() {
int n, i, j, nr, s;
fin >> n;
for( i = 0; i < n; i++ )
fin >> v[i].x >> v[i].y;
s = nr = 0;
for( i = 0; i < n; i++ ) {
for( j = i + 1; j < n; j++ ) {
if( v[j].x == v[i].x )
s++;
else {
nr += panta[(double)( v[j].y - v[i].y )/( v[j].x - v[i].x )];
panta[(double)( v[j].y - v[i].y )/( v[j].x - v[i].x )]++;
}
}
}
fout << nr + s * ( s - 1 ) / 2;
return 0;
}