Cod sursa(job #912655)

Utilizator bDannYdBurileanu Daniel bDannYd Data 12 martie 2013 17:42:04
Problema Combinari Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.67 kb
#include<stdio.h>

int n = 4, k = 3;
int sol[20];

int valid(int niv) {
	/*int i;
	
	if (sol[niv - 1] > n) return 0;
	
	for(i = 0; i < niv - 1; i++)
		if(sol[i] == sol[niv])
			return 0;
	*/
	if(sol[niv] <= sol[niv - 1]) 
		return 0;
	return 1;
}

int solutie(int niv) {
	if (niv == k)
		return 1;
	return 0;
}

void afisare() {
	int i;
	
	for(i = 1; i <= k; i++)
		printf("%d ",sol[i]);
	printf("\n");
}

void back(int niv) {
	int i;
	
	if(niv <= k) {
		for(i = 1; i <= n; i++) {
			sol[niv] = i;
			if(valid(niv)) {
				if(solutie(niv))
					afisare();
				else
					back(niv + 1);
				}
		}
	}
}

int main() {
	back(1);
	
	return 0;
}