Pagini recente » Clasament fmi-no-stress-9 | Cod sursa (job #2789416) | Cod sursa (job #2169017) | Cod sursa (job #1906652) | Cod sursa (job #2665383)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <math.h>
#define inf 0x3f3f3f3f;
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct coordonate
{long long x,y;} a[1001];
double v[500001];
int n,m,k,nr,sum;
int main()
{ f>>n;
for(int i=1;i<=n;i++)
f>>a[i].x>>a[i].y;
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
{ m++;
if(a[i].y==a[j].y) {v[m]=inf;}
else {v[m]=(a[i].x-a[j].x)/(double)(a[i].y-a[j].y);}
}
sort(v+1,v+m+1);
/*for(int i=1;i<=m;i++)
cout<<v[i]<<'\n';*/
//m=n*(n-1)/2;
for(int i=1;i<=m;i++)
{nr=1;while(i<m && v[i]==v[i+1]) nr++,i++;
sum+=nr*(nr-1)/2;nr=1;
}
g<<sum;
return 0;
}