Pagini recente » Cod sursa (job #97639) | Cod sursa (job #2957796) | Cod sursa (job #2399059) | Cod sursa (job #1998279) | Cod sursa (job #2623048)
#include<iostream>
#include<fstream>
#include<algorithm>
#include<cmath>
#include<vector>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct points
{
double x,y;
}points[1005];
int main()
{
int N, nr = 1, nrp = 0, nrt = 0;
double panta[100007];
f>>N;
for(int i = 0; i < N; i++)
f>>points[i].x>>points[i].y;
for(int i = 0; i < N-1; i++)
for(int j = i+1; j < N; j++)
if(points[i].x != -1 * points[j].x)
panta[nrp ++] = (double)(points[j].y - points[i].y) / (points[j].x - points[i].x);
sort(panta,panta+nrp);
for(int i = 0; i < nrp - 1; i++)
if(panta[i] == panta[i+1])
nr++;
else
{
nrt += (nr*(nr-1))/2;
nr=1;
}
g<<nrt;
f.close();
g.close();
return 0;
}