Pagini recente » Cod sursa (job #1176637) | Cod sursa (job #303263) | Cod sursa (job #274686) | Cod sursa (job #1823852) | Cod sursa (job #2438515)
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct PUNCT{
double a,b;
} x[1001];
long double pant[1010030];
int i,j,trp=1,nr,rez,n;
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>x[i].a>>x[i].b;
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
{
if(x[j].a-x[i].a==0)
pant[nr++]=2e9;
else
pant[nr++]=(x[j].b-x[i].b)/(x[j].a-x[i].a);
}
sort(pant+1,pant+nr+1);
for(i=1;i<=nr;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;
}