Cod sursa(job #256223)

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

int st[9],n,k;

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] || st[i]>st[k])
		return 0;
 return 1;
}

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

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

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

 return 0;
}