Pagini recente » Borderou de evaluare (job #274310) | Cod sursa (job #1969228) | Cod sursa (job #640186) | Rating Ailiesei Razvan (dnbmaniac) | Cod sursa (job #2623383)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("trapez.in");
ofstream fout("trapez.out");
struct pct{
double x,y;
}p[1005];
int nrPct,r,t=1;
vector <double> panta;
int main()
{
fin>>nrPct;
for(int i = 1; i <= nrPct; ++i)
fin>>p[i].x>>p[i].y;
for(int i = 1; i < nrPct; ++i)
for(int j = i + 1; j <= nrPct; ++j)
if(p[j].x - p[i].x == 0)
panta.push_back(INT_MAX - 1);
else
panta.push_back((p[j].y - p[i].y) / (p[j].x - p[i].x));
sort(panta.begin(), panta.end());
for(int i = 1; i < panta.size(); ++i)
if(panta[i] == panta[i - 1])
++t;
else
r += (t * (t - 1)) / 2, t = 1;
fout<<r + (t * (t - 1)) / 2;
}