Cod sursa(job #25940)

Utilizator plastikDan George Filimon plastik Data 4 martie 2007 16:37:23
Problema Puteri Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#define _CRT_SECURE_NO_DEPRECATE
#include <cstdio>

const int MAX_N = 100005;
int N;
struct num {
	int i, j, k;
} A[MAX_N];


int cmmdc(int a, int b) {
	if (b == 0) {
		return a;
	}
	return cmmdc(b, a % b);
}
int main(void) {
	FILE *in = fopen("puteri.in", "r");
	fscanf(in, "%d", &N);
	int i;
	for (i = 0; i < N; ++ i) {
		fscanf(in, "%d %d %d", &A[i].i, &A[i].j, &A[i].k);
	}
	fclose(in);

	int j, nsol = 0;
	for (i = 0; i < N - 1; ++ i) {
		for (j = i + 1; j < N; ++ j) {
			num prod;
			prod.i = A[i].i + A[j].i;
			prod.j = A[i].j + A[j].j;
			prod.k = A[i].k + A[j].k;
			int max = (prod.i > prod.j) ? (prod.i) : (prod.j);
			max = (max > prod.k) ? (max) : (prod.k);
			if (cmmdc(cmmdc(prod.i, prod.j), prod.k) > 1) {
				nsol ++;
			}
		}
	}

	FILE *out = fopen("puteri.out", "w");
	fprintf(out, "%d\n", nsol);
	fclose(out);

	return 0;
}