Pagini recente » Cod sursa (job #1569319) | Cod sursa (job #1978468) | Cod sursa (job #1246444) | Cod sursa (job #203397) | Cod sursa (job #2624744)
#include<fstream>
#include<iostream>
#include<algorithm>
using namespace std;
struct dub{
int x,y;
};
int n,k,i,j,x,y,sol,s=0;
long double pant[1000010];
int main()
{
dub v[100000];
ifstream f("trapez.in");
ofstream g("trapez.out");
f>>n;
for(i=0;i<n;i++)
f>>v[i].x>>v[i].y;
for (i=0;i<n;i++)
for (j=i+1;j<n;j++) {
y=v[i].y-v[j].y;
x=v[i].x-v[j].x;
if (x==0)
x=2e18;
pant[k++]=y*1.0/x;
}
sort (pant,pant+k);
sol=1;
for (i=0;i<k;i++){
if (pant[i]==pant[i-1])
sol++;
else {
s+=sol*(sol-1)/2;
sol=1;
}
}
g<<s<<endl;
f.close();
g.close();
return 0;
}