Pagini recente » Cod sursa (job #2664236) | Cod sursa (job #2735256) | Cod sursa (job #1902465) | Cod sursa (job #1138326) | Cod sursa (job #704075)
Cod sursa(job #704075)
#include <fstream>
#include <algorithm>
using namespace std;
int n,x[1010],y[1010],lung,sol;
double p[1000100];
inline double panta(int x1,int y1,int x2,int y2)
{
return 1.0*((1.0*(x2-x1))/(1.0*(y2-y1)));
}
inline double modul(double a)
{
if(a<0) return -a;
return a;
}
int main()
{
ifstream in("trapez.in");
ofstream out("trapez.out");
in>>n;
for(int i=1;i<=n;++i)
{
in>>x[i]>>y[i];
for(int j=i-1;j>=1;--j)
{
if(y[i]!=y[j] || x[i]==x[j])
p[++lung]=panta(x[i],y[i],x[j],y[j]);
else
p[++lung]=10000000;
}
}
sort(p+1,p+lung+1);
for(int i=1;i<=lung;++i)
{
int sv=i,nr=0;
while(modul(p[i]-p[sv])<0.0000000001 && i<=lung)
{
++i;
++nr;
}
sol=sol+nr*(nr-1)/2;
}
out<<sol<<'\n';
out.close();
return 0;
}