Cod sursa(job #29859)

Utilizator FlorianFlorian Marcu Florian Data 11 martie 2007 17:34:44
Problema Puteri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
#include<stdio.h>
int main()
{long sol, n,x[100],y[100],z[100];
int a,b,c,i,j,r,k,p;
FILE *f=fopen("puteri.in","r");
FILE *g=fopen("puteri.out","w");
fscanf(f,"%ld",&n);                                       sol=0;
for (i=1;i<=n;i++) fscanf(f,"%d %d %d",&x[i],&y[i],&z[i]);
for (i=1;i<=n-1;i++)
 for (j=i+1;j<=n;j++)
	{a=x[i]+x[j]; b=y[i]+y[j]; c=z[i]+z[j];
	if ((c==0&&a==b)||(a==c&&b==0)||(b==c&&a==0)) sol++;
	else if (a==b&&b==c) sol++;
	else {if (a>=2&&b>=2&&c!=1){ r=a%b; while (r!=0) {a=b; b=r; r=a%b;}
					if (b!=1&&c>1) {k=r%c; while (k!=0) {r=c; c=k; k=r%c;} if (k>1) sol++;}
					else if (b!=1&&c==0) sol++;}
	     else if (b>=2&&c>=2&&a!=1) {r=b%c; while (r!=0) {b=c; c=r; r=b%c;} if ((c!=1&&a==0)) sol++;
										else if (c!=1&&a>1){b=r;r=a%b; while(r!=0) {a=b; b=r; r=a%b;} if (b!=1) sol++;}}

		 else if (a>=2&&c>=2&&b!=1) {r=a%c; while (r!=0) {r=a%c; a=c; c=r;} if (c!=1&&b!=0) sol++;
											else if (b>1&&c!=1) {a=r; r=a%b; while (r!=0) {a=b; b=r; r=a%b;} if (b!=1) sol++;} }
		 }}
 fprintf(g,"%ld",sol);
 fclose(f);
 fclose(g);
 return 0;}