Cod sursa(job #1196802)

Utilizator pavlov.ionPavlov Ion pavlov.ion Data 9 iunie 2014 01:57:23
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<stdio.h>
int st[19],n,p,k;
void Init()
	{ st[k]=st[k-1]; }
int Am_Succesor() {
	if(st[k]<n){
		st[k]++;
		return 1;
		}
	return 0;
}
int Solutie()
		{ return k==p; }
int E_Valid() {
	for(int i=1;i<k;i++)
		if(st[i]==st[k] ) return 0;
	return 1;
}
void Tipar() {
	for(int i=1;i<=p;i++)
			printf("%d ",st[i]);
printf("\n");
}
void back() {
int AS;
k=1;Init();
while(k>0) {
	do {} while((AS=Am_Succesor()) && !E_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%d",&n,&p);
 	back();
 	fclose(stdin);
 	fclose(stdout);
 return 0;
 }