Pagini recente » Cod sursa (job #2210617) | Cod sursa (job #405123) | Cod sursa (job #2689262) | Cod sursa (job #2344355) | Cod sursa (job #42549)
Cod sursa(job #42549)
#include <stdio.h>
struct punct
{
long long x,y;
};
double d[2000][5];
int main()
{
float panta;
long long n,i,j,m,l,k,x=0;
punct v[2000];
FILE *in=fopen("trapez.in","r"),*out=fopen("trapez.out","w");
fscanf(in,"%lld",&n);
for (i=0; i<n; i++)
fscanf(in,"%d%d",&v[i].x,&v[i].y);
fclose(in);
m=0;
for (i=0; i<n-1; i++)
for (j=i+1; j<n; j++)
{
k=0;
if (v[i].x-v[j].x!=0)
panta=((float) v[i].y - v[j].y )/((float) v[i].x - v[j].x );
else
panta=9999999;
for (l=0; l<m; l++)
if (panta==d[l][0])
{
d[l][1]+=1;
l=m;
k=1;
}
if (!k)
{
d[m][0]=panta;
d[m][1]=1;
m++;
}
}
for (i=0; i<m; i++)
x+=(int)(d[i][1]*(d[i][1]-1)/2);
fprintf(out,"%lld\n",x);
fclose(out);
return 0;
}