Cod sursa(job #25258)

Utilizator peanutzAndrei Homorodean peanutz Data 4 martie 2007 11:39:28
Problema Puteri Scor 40
Compilator cpp Status done
Runda preONI 2007, Runda 3, Clasa a 9-a si gimnaziu Marime 1.01 kb
#include <stdio.h>

#define NMAX 100100

int doi[NMAX], trei[NMAX], cinci[NMAX];
long n;
long long count;

void read()
{
long i;

scanf("%ld\n", &n);

for(i = 0; i < n; ++i)
	scanf("%d %d %d\n", &doi[i], &trei[i], &cinci[i]);
}

int cmmdc(int a, int b)
{
int r;

while(b)
	{
		r = a % b;

		a = b;

		b = r;
	}

return a;
}


void solve()
{
long i, j, aux2, aux3, aux5, cmm;

for(i = 0; i < n; ++i)
	for(j = i+1; j < n; ++j)
		{
			aux2 = doi[i] + doi[j];
			aux3 = trei[i] + trei[j];
			aux5 = cinci[i] + cinci[j];

			cmm = 1;

			if((!aux2 || !aux3)  &&  (aux2 + aux3 > 0))
				{
					cmm = aux2 + aux3;

				}


			else
				cmm = cmmdc(aux2, aux3);


			if(aux5)
				cmm = cmmdc(cmm, aux5);


			if(cmm != 1)
				++count;
		}
}

void write()
{
printf("%lld\n", count);
}

int main()
{
freopen("puteri.in", "r", stdin);
freopen("puteri.out", "w", stdout);

read();

solve();

write();

fclose(stdin);
fclose(stdout);

return 0;
}