Cod sursa(job #217766)

Utilizator dReaMerAndrei Sofian dReaMer Data 30 octombrie 2008 10:09:54
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<stdio.h>
int st[100];
int n,m,k,ev,as;

void init (){
	st[k]=st[k-1];
}


int succesor (){
	if (st[k]<n-m+k){
		st[k]=st[k]+1; return 1;
	}
	else return 0;
}

int valid (){
	return 1;
}

int solutie(){
	return k==m;
}

void tipar (){
	int i;
	for (i=1;i<=m;i++) printf("%d ",st[i]);
	printf("\n");
}

void bt(){
	k=1;
	init();
	while (k>0){
		as=1;
		ev=0;
		while(as && !ev){
			as=succesor();
			if(as)
				ev=valid();
		}
		if(as)
			if (solutie()) tipar();
			 else {k++; init();}
        else k--;}
}

int main(){
	freopen("combinari.in","r",stdin);
	freopen("combinari.out","w",stdout); 
	scanf("%d",&n);
	scanf("%d",&m);
	bt();
	return 0;
}