Cod sursa(job #473416)

Utilizator DanandreighGheorghe Dan Andrei Danandreigh Data 29 iulie 2010 12:59:08
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<cstdio>

using namespace std;

int modul(int p)
{if (p>0) return p;
return -p;
}
int cmmdc(int a,int b)
{int r;
while (b!=0)
{r=a%b;
a=b;
b=r;}
return a;}
int simpl(int &c,int&d)
{int x;
x=cmmdc(c,d);
c=c/x;
d=d/x;
}


int main()
{ FILE *f=fopen("trapez.in","r");
FILE *g=fopen("trapez.out","w");
int n,i,j,x,y,r,a[2][101],b[101][101];
fscanf(f,"%d",&n);
for (i=0;i<=100;i++)
	a[0][i]=a[1][i]=0;
for (j=0;j<=100;j++)
	for (i=0;i<=100;i++)
		b[i][j]=0;
for (i=1;i<=n;i++)
  fscanf(f,"%d %d",&a[0][i],&a[1][i]);
//quicksort(1,n);
for (i=1;i<n;i++)
	for (j=i+1;j<=n;j++)
		{x=modul(a[0][i]-a[0][j]);
		y=modul(a[1][i]-a[1][j]);
		simpl(x,y);
		b[x][y]++;
		}
		r=0;
for (i=1;i<=100;i++)
	for (j=1;j<=100;j++)
		if (b[i][j]>1) r++;

fprintf(g,"%d",r);
		fclose(f);
		fclose(g);
		return 0;
}