Pagini recente » Cod sursa (job #827315) | Cod sursa (job #1977379) | Cod sursa (job #2317493) | Cod sursa (job #2255450) | Cod sursa (job #2404577)
#include <bits/stdc++.h>
#define INF 2001
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct wow
{
double x,y;
}v[1005];
int q;long double nani[1000005];
int cautbin (int val)
{
int st=1,dr=q,mij,sol;
while (st<=dr)
{
mij=(st+dr)/2;
if (nani[mij]<=val)
{
sol=mij;
st=mij+1;
}
else
{
dr=mij-1;
}
}
return sol;
}
int n,i,sum,j,nr;
int main()
{
f>>n;
for (i=1;i<=n;i++)
{
f>>v[i].x>>v[i].y;
}
for (i=1;i<=n;i++)
{
for (j=i+1;j<=n;j++)
{
if (v[i].x-v[j].x==0)
{
nani[++q]=INF;
}
else
{
nani[++q]=(v[i].y-v[j].y)/(v[i].x-v[j].x);
}
}
}
sort (nani+1,nani+q+1);
nr=1;
for (i=2;i<=q;i++)
{
if (nani[i]==nani[i-1])
{
nr++;
}
else
{
sum+=(nr*(nr-1))/2;
nr=1;
}
}
sum+=(nr*(nr-1))/2;
g<<sum;
return 0;
}