Cod sursa(job #912703)

Utilizator bDannYdBurileanu Daniel bDannYd Data 12 martie 2013 17:46:07
Problema Combinari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.63 kb
#include<stdio.h>

int n, k;
int sol[20];
FILE *fin, *fout;

int valid(int niv) {
	if(sol[niv] <= sol[niv - 1]) 
		return 0;
	return 1;
}

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

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

int main() {
	fin = fopen("combinari.in","r");
	fout = fopen("combinari.out","w");
	fscanf(fin,"%d %d",&n,&k);
	fclose(fin);
	
	back(1);
	fclose(fout);
	return 0;
}