Pagini recente » Cod sursa (job #631792) | Cod sursa (job #3182968) | Cod sursa (job #493653) | Cod sursa (job #3160940) | Cod sursa (job #2844945)
#include <fstream>
#include <algorithm>
#define NMAX 1000
using namespace std;
struct puncte {
int x, y;
}v[NMAX + 1];
double panta[NMAX + 1];
int main(){
ifstream fin ("trapez.in");
ofstream fout ("trapez.out");
int n, sol = 0;
fin >> n;
for (int i = 0; i < n; i++){
fin >> v[i].x >> v[i].y;
}
int _size = 0;
for (int i = 0; i < n; i++){
for (int j = i + 1; j < n; j++)
panta[_size ++] = (double) (v[j].y - v[i].y) / (v[j].x - v[i].x);
}
sort (panta, panta + _size);
int i = 0;
int s;
double curr;
while (i < _size){
s = 0;
curr = panta[i];
while (panta[i] == curr)
i++, s++;
sol += s * (s - 1) / 2;
}
fout << sol;
return 0;
}