Pagini recente » Cod sursa (job #931058) | Cod sursa (job #863624) | Cod sursa (job #1855285) | Cod sursa (job #1029588) | Cod sursa (job #1139958)
#include <fstream>
#include <algorithm>
#define x first
#define y second
#define oo 0x3f3f3f3f
using namespace std;
ifstream fin("trapez.in");
ofstream fout("trapez.out");
typedef pair<int,int> Punct;
Punct p[1001];
long double panta[500101];
int n, sol, k;
int main()
{
fin>>n;
for(int i = 1; i<= n; i++ )
{
fin>>p[i].x>>p[i].y;
}
for(int i = 1; i< n; i++ )
for(int j = i+1; j<= n; j++ )
{
if(p[i].x==p[j].x)
panta[++k]=oo;
else panta[++k]=1.0*(p[i].y-p[j].y)/(p[i].x-p[j].x);
}
sort(panta+1,panta+k+1);
for(int i = 1; i<= k; i++ )
{
int d=1;
while(panta[i+d]==panta[i] && i+d<=k)
d++;
sol+=d*(d-1)/2;
i+=d-1;
}
fout<<sol<<'\n';
fin.close();
fout.close();
return 0;
}