Pagini recente » Cod sursa (job #2799099) | Cod sursa (job #2788717) | Cod sursa (job #1867041) | Cod sursa (job #268867) | Cod sursa (job #1585581)
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
FILE *f=fopen("trapez.in","r");
FILE *g=fopen("trapez.out","w");
pair<int ,int> puncte[2000];
int N,i,j,ci;
long long rez;
double m[2000];
int main()
{
fscanf(f,"%d",&N);
for(i=1;i<=N;i++)
fscanf(f,"%d %d",&puncte[i].first,&puncte[i].second);
for(i=1;i<=N;i++)
{
for(j=i+1;j<=N;j++)
{
m[i+j-1]=double(puncte[i].second-puncte[j].second)/double(puncte[i].first-puncte[j].first);
}
}
sort(m+1,m+2*N);
m[2*N]=-1000000000;
for(i=1;i<2*N;i++)
{
ci=i;
while(m[i]==m[i+1])
i++;
rez+=(i-ci+1)*(i-ci)/2;
}
fprintf(g,"%lld",rez);
return 0;
}