Cod sursa(job #414127)

Utilizator lunat1cHobinca Bogdan lunat1c Data 9 martie 2010 19:06:21
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <cstdio>

int x[19],N,K;

void afis()
{
	for(int i=1;i<K;i++)
		for(int j=i+1;j<=K;j++)
			if(x[i]>=x[j])
				return;
	for(int i=1;i<=K;i++)
		printf("%d ", x[i]);
	printf("\n");
}
	

int main()
{
	freopen("combinari.in","r",stdin);
	freopen("combinari.out","w",stdout);
	scanf("%d%d",&N,&K);
	int a,i,acceptat,urmatorul;
	a=1;
	x[a]=0;
	while(a>0)
	{
		do
		{
			if(x[a]<N)
			{
				x[a]++;
				acceptat=1;
				urmatorul=1;
				for(i=1;i<a;i++)
					if(x[a]<=x[i])
						acceptat=0;
			}
			else
				urmatorul=0;
		} while (urmatorul && !acceptat);
		if(urmatorul)
			if(a==K)
				afis();
			else 
			{
				x[a+1]=x[a];
				a++;
			}
		else 
			a--;
	}
	return 0;
}