Pagini recente » Cod sursa (job #1135956) | Cod sursa (job #321842) | Cod sursa (job #657119) | Cod sursa (job #1545163) | Cod sursa (job #1714870)
#include<iostream>
#include<stdio.h>
#include<cmath>
#include<algorithm>
using namespace std;
FILE *f=fopen("trapez.in","r");
FILE *g=fopen("trapez.out","w");
struct coord
{
int x,y;
}v[1001];
double a[501501];
int n,i,j,k=0,nr=0,l=0;
int main()
{
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)fscanf(f,"%d%d",&v[i].x,&v[i].y);
for(i=1;i<n;i++)for(j=i+1;j<=n;j++)
{
if((v[j].x-v[i].x)!=0)
{
k++;
a[k]=(double)(v[j].y-v[i].y)/(v[j].x-v[i].x);
}
else l++;
}
sort(a+1,a+k+1);
i=1;
j=1;
while(i<=k)
{
if(a[i]==a[i+1])j++;
else
{
nr+=(j*(j-1))/2;
j=1;
}
i++;
}
nr+=((l-1)*l)/2;
fprintf(g,"%d",nr);
fclose(f);
fclose(g);
return 0;
}