Pagini recente » Cod sursa (job #2712504) | Cod sursa (job #305716) | Cod sursa (job #1262059) | Cod sursa (job #2348257) | Cod sursa (job #2843101)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <map>
using namespace std;
const int NMAX = 1000;
ifstream fin( "trapez.in" );
ofstream fout( "trapez.out" );
struct punct{
int x;
int y;
};
punct v[1000];
double pante[NMAX*NMAX];
int main() {
int n, i, j, nr, s, trapeze;
double p;
fin >> n;
for( i = 0; i < n; i++ )
fin >> v[i].x >> v[i].y;
nr = 0;
for( i = 0; i < n; i++ ) {
for( j = i + 1; j < n; j++ )
pante[nr++] = (double)( v[j].y - v[i].y ) / ( v[j].x - v[i].x );
}
sort( pante, pante + nr );
trapeze = 0;
for( i = 0; i < nr; i+=0 ) {
s = 0;
p = pante[i];
while( pante[i] == p ) {
s++;
i++;
}
trapeze += s * ( s - 1 ) / 2;
}
fout << trapeze;
return 0;
}