Pagini recente » Cod sursa (job #1766800) | Cod sursa (job #3280513) | Cod sursa (job #238541) | Cod sursa (job #619420) | Cod sursa (job #2429199)
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct PUNCT{
double a,b;
} x[1001];
double pant[1010030];
int i,j,trp=1,nr,rez,n;
int main()
{
f>>n;
for(i=0;i<n;i++)
f>>x[i].a>>x[i].b;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(x[j].a-x[i].a==0)
pant[nr]=2e9,nr++;
else
pant[nr]=(x[j].b-x[i].b)/(x[j].a-x[i].a),nr++;
}
sort(pant,pant+nr);
for(i=1;i<n;i++)
{
if(pant[i]==pant[i-1])
trp++;
else
{
rez+=(trp*(trp-1))/2;
trp=1;
}
}
rez+=(trp*(trp-1))/2;
g<<rez;
return 0;
}