Cod sursa(job #25490)

Utilizator g3ppyStoian Vlad g3ppy Data 4 martie 2007 12:43:52
Problema Puteri Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda 3, Clasa a 10-a Marime 0.86 kb
#include <stdio.h>
#include <fstream.h>
struct put {unsigned char a,b,c;};
put a[10000];
struct put2 {int x,y,z;};
put2 q;
long n,p,i,j;
int cmm,cmm2,r;

int cmmdc (int g, int h)
{
if (g==0) return h;
if (h==0) return g;
do {
    r=g%h;
    g=h;
    h=r;
    } while (r!=0);
return g;
}



int main()
{
FILE *fin, *fout;
fin=fopen("puteri.in","rt");
fout=fopen("puteri.out","wt");

fscanf(fin,"%d",&n);
for (i=0;i<n;i++)
    {fscanf(fin,"%d",&a[i].a);
    fscanf(fin,"%d",&a[i].b);
    fscanf(fin,"%d",&a[i].c);
    for (j=0;j<i;j++)
	{q.x=(a[i].a-'0')+(a[j].a-'0');
	 q.y=(a[i].b-'0')+(a[j].b-'0');
	 q.z=(a[i].c-'0')+(a[j].c-'0');
	 //111
	 if (!(q.x==1||q.y==1||q.z==1))
	 {
	 cmm=cmmdc(q.x,q.y);
	 cmm2=cmmdc(cmm,q.z);
	 if (cmm2!=1) p++;
	 }

	}
    }

fprintf(fout,"%d",p);
fprintf(fout,"\n");
fcloseall();
return 0;
}