Cod sursa(job #4925)

Utilizator ProstuStefan-Alexandru Filip Prostu Data 8 ianuarie 2007 21:20:38
Problema Dreptunghiuri Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <cstdio>
#include <cstring>

const int NMAX = 401;

int N, M;
long long cnt;

void read() {
	FILE *fin = fopen("dreptunghiuri.in", "rt");

	fscanf(fin, " %d %d", &N, &M);

	fclose(fin);
}

void count() {
	int i, j, k, p, t;

	for (i = 1; i < N; ++i)
		for (j = 1; j < M; ++j) {

			for (k = 0, p = 0; k < i; ++k)
				for (t = 0; t < j; ++t)
					if (t * t + k * (i - k) == j * t)
						++p;

			cnt += p * (N - i) * (M - j);

//			printf("%d %d %d %lld\n", i, j, p, cnt);
		}

}

void write() {
	FILE *fout = fopen("dreptunghiuri.out", "wt");

	fprintf(fout, "%lld\n", cnt);

	fclose(fout);
}

int main() {

	read();

	count();

	write();

	return 0;
}