Cod sursa(job #900069)

Utilizator DanutsDanut Rusu Danuts Data 28 februarie 2013 17:31:38
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<stdio.h>
using namespace std;
int x[20],n,q;
int sol(int k){
	if(k==q)
		return 1;
	return 0;
}
int cont(int k){
	for(int i=1;i<k;i++)
		if(x[i]==x[k])
			return 0;
	if(k>1)
		if(x[k-1]>x[k])
			return 0;
	return 1;
}
void afis(int k){
	for(int i=1;i<=k;i++)
		printf("%d ",x[i]);
	printf("\n");
}
void bkt(){
	int k=1;
	x[k]=0;
	while(k>0)
		if(x[k]<n){
			x[k]++;
			if(cont(k))
				if(sol(k))
					afis(k);
				else{
					k++;x[k]=0;}
		}
		else
			k--;
}
int main (){
	freopen("combinari.in","r",stdin);
	freopen("combinari.out","w",stdout);
	scanf("%d%d",&n,&q);
	bkt();
	return 0;
}