Pagini recente » Cod sursa (job #614434) | Cod sursa (job #2402858) | Cod sursa (job #521452) | Cod sursa (job #2359478) | Cod sursa (job #1326621)
#include<cstdio>
#include<unordered_map>
#define NMAX 1005
using namespace std;
struct punct
{
int x,y;
}v[NMAX];
unordered_map<double,int>H;
int i,j,n;
int main()
{
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;++i) scanf("%d%d",&v[i].x,&v[i].y);
for (i=1;i<n;++i)
for (j=i+1;j<=n;++j)
{
H[(float)(v[j].y-v[i].y)/(v[j].x-v[i].x)];
}
unordered_map<double,int>::iterator it;
long long sum=0;
for (it=H.begin();it!=H.end();++it)
{
int x=*it->second;
sum+=x*(x-1)/2;
}
printf("%lld\n",sum);
return 0;
}