Cod sursa(job #1018559)

Utilizator TzapulPaun Victor Tzapul Data 29 octombrie 2013 19:02:40
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>
#include <conio.h>

int x[100],n,p;
int valid(int );
void afisare();
FILE *f=fopen("combinari.in","r"),*g=fopen("combinari.out","w");

int main()
{
	int k=1,g;
	scanf("%d%d",&n,&p);
	x[k]=0;
	while(k>0)
	{
		g=0;
		while((g==0) && (x[k]<n-p+k))
			{
				x[k]++;
				if(valid(k)==1)
					g=1;
			}
		if(g==1)
			if(k==p)
				afisare();
			else
			{
				k++;
				x[k]=0;
			}
		else
			k--;}
	getch();
}

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

void afisare()
{
	int i;
	for(i=1;i<=p;i++)
		printf("%d ",x[i]);
	printf("\n");
}