Cod sursa(job #658285)

Utilizator mathboyDragos-Alin Rotaru mathboy Data 8 ianuarie 2012 15:00:30
Problema Matrice5 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <cstdio>



using namespace std;

int n, m, k, s1[10][10], s2[10][10], a[10][10];
int sol, p;
void back(int lin, int col) {
	if(lin == n + 1) {

		for(int j = 1; j <= m; j++) {
			int s = 0;
			for(int i = 1; i <=n; i++)
				s += a[i][j];
			if(s % k) return;
		}
		++sol;		
		return;
	}
	if(col == m + 1) {
		int s = 0;
		for(int i = 1; i <= m; i++)
			s += a[lin][i];
		if(s % k) return;	

		back(lin + 1, 1);
	}
	else {
		for(int i = 1; i <= p; i++) {
			a[lin][col] = i;
			back(lin, col + 1);
		}
	}
}
int main() {


	freopen("matrice5.in", "r", stdin);
	freopen("matrice5.out", "w", stdout);


	scanf("%d %d %d\n", &n, &m, &k);
	for(int i = 1; i <= 8; i++) {
		p = k * i;
		sol = 0;
		back(1, 1);
		printf("%d\n", sol);
	}
}