Cod sursa(job #1018561)

Utilizator TzapulPaun Victor Tzapul Data 29 octombrie 2013 19:08:10
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <stdio.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;
	fscanf(f,"%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--;}
}

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++)
		fprintf(g,"%d ",x[i]);
	fprintf(g,"\n");
}