Cod sursa(job #25141)

Utilizator kaesarioDumi Loghin kaesario Data 4 martie 2007 11:01:34
Problema Puteri Scor 40
Compilator c Status done
Runda preONI 2007, Runda 3, Clasa a 9-a si gimnaziu Marime 1.05 kb
#include <stdio.h>
#define MAX 100000

int cmmdc(int a, int b)
{
 	int r;
 	r=a%b;
    while (r)
	{
	  a=b;
	  b=r;
	  r=a%b;
 	}
 	return b;
}

int main()
{
 	unsigned char a[MAX], b[MAX], c[MAX];
 	int aa, bb, cc, d;
 	long int n, i, j, nr;
 	FILE *f=fopen("puteri.in","rt");
 	fscanf(f,"%li", &n);
 	for (i=0; i<n; i++) fscanf(f,"%i %i %i", a+i, b+i, c+i);
 	fclose(f);
 	nr=0;
 	for (i=0; i<n-1; i++)
 	 for (j=i+1; j<n; j++)
 	  {
 		 aa=a[i]+a[j];
 		 bb=b[i]+b[j];
 		 cc=c[i]+c[j];
 		 if (aa!=1 && bb!=1 && cc!=1)
 		 {
	        if (aa==0)
			 if (bb==0) d=cc;
			  else
			   if (cc==0) d=bb;
			    else d=cmmdc(bb, cc);
			if (aa!=0)
			 if (bb==0)
			  if (cc==0) d=aa; else d=cmmdc(aa, cc);
		     else 
			  if (cc==0) d=cmmdc(aa, bb);
			if (aa!=0 && bb!=0 && cc!=0) 
			 {
		        d=cmmdc(aa, bb);
		        if (d!=1) d=cmmdc(d, cc);
		     }    	 
	     }
	     else d=1;
	     if (d==0 || d>1) nr++;
      }
    f=fopen("puteri.out","wt");
    fprintf(f,"%li\n", nr);
	fclose(f);  
 	return 0;
}