Pagini recente » Cod sursa (job #1765554) | Istoria paginii utilizator/petre987 | Cod sursa (job #526048) | Cod sursa (job #3143208) | Cod sursa (job #221676)
Cod sursa(job #221676)
#include<fstream.h>
#include<iostream.h>
#include<algorithm>
using namespace std;
struct punct
{
double x,y;
};
int n,i,j,k,inc=1,sf,xx,yy;
double d[1000010];
punct a[1010];
double panta( punct p1, punct p2)
{
double p;
if(p1.y==p2.y) p=-1;
else
p=(p1.x-p2.x)/(p1.y-p2.y);
/* if (p == 0.25) {
cout<<p1.x<<p1.y<<endl;
cout<<p2.x<<p2.y<<endl;
}*/
return p;
}
int main()
{
ifstream in("trapez.in");
ofstream out("trapez.out");
in>>n;
for(i=1;i<=n;i++)
in>>a[i].x>>a[i].y;
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
d[++k]=panta(a[i],a[j]);
sort(d+1,d+k+1);
inc=1;
for(i=1;i<=k;i++) {
if(d[i+1]==d[i])
sf++;
else
{
sf++;
xx=sf-inc+1;
yy=yy+((xx*(xx-1))/2);
inc=i+1;
}
}
out<<yy<<endl;
return 0;
}