Cod sursa(job #60890)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 17 mai 2007 16:11:41
Problema Puteri Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<stdio.h>
long int a[129][129][129],i,j,k,m,n,x[100001],y[100001],z[100001],i1,i2,i3,cond,sol;
int main()
{       FILE *f,*g;
	f=fopen("puteri.in","r");
	g=fopen("puteri.out","w");
	a[0][0][0]=-1;
	for(i=0;i<=128;i++)
	 for(j=i;j<=128;j++)
	  for(k=j;k<=128;k++)
	   if(!a[i][j][k])
	    { a[i][j][k]=-1;
	      a[i][k][j]=-1;
	      a[j][i][k]=-1;
	      a[j][k][i]=-1;
	      a[k][i][j]=-1;
	      a[k][j][i]=-1;
	      for(m=2;m*k<=128;m++)
	      { a[m*i][m*j][m*k]=1;
		a[m*i][m*k][m*j]=1;
		a[m*j][m*i][m*k]=1;
		a[m*j][m*k][m*i]=1;
		a[m*k][m*i][m*j]=1;
		a[m*k][m*j][m*i]=1;
	      }
	     }
	   fscanf(f,"%ld",&n);
	   fscanf(f,"%ld%ld%ld",&x[1],&y[1],&z[1]);
	   for(k=2;k<=n;k++)
	   { fscanf(f,"%ld%ld%ld",&x[k],&y[k],&z[k]);
	     for(j=1;j<k;j++)
	     { i1=x[k]+x[j];i2=y[k]+y[j];i3=z[k]+z[j];
	       cond=(a[i1][i2][i3]+1)/2;
	       if(cond) sol++;
	     }
	   }
	   fprintf(g,"%ld\n",sol);
	   fcloseall();
	   return 0;
}