Cod sursa(job #256226)

Utilizator andumMorie Daniel Alexandru andum Data 11 februarie 2009 13:07:34
Problema Combinari Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <stdio.h>

int st[9],n,p;

void afis(int k)
{
 int i;

 for (i=1;i<=k;i++)
	printf("%d ", st[i]);
 printf("\n");
}

int valid(int k)
{
 int i;
 for (i=1;i<k;i++)
	if (st[i]==st[k])
		return 0;
 return 1;
}

void back(int k)
{
 int x;
 for (x=st[k-1];x<=n;x++)
	{
	 st[k]=x;
	 if (st[k]>st[k-1])
	 if (valid(k))
		if (k==p)
			afis(k);
		  else
		back(k+1);
	}
}

int main()
{
 freopen("combinari.in","r",stdin);
 freopen("combinari.out","w",stdout);

 scanf("%d %d", &n, &p);
 back(1);

 return 0;
}