Cod sursa(job #477016)

Utilizator barneystinsonBarney barneystinson Data 13 august 2010 00:13:53
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <cstdio>

FILE*f=fopen("combinari.in","r");
FILE*g=fopen("combinari.out","w");

int n,k,st[19],k1;

int succesor(){
	if(st[k]<n) return 1;
	return 0;
}

void solutie(){
	for(int i=1;i<=k1;i++){
		fprintf(g,"%d ",st[i]);
	}
	fprintf(g,"\n");
}

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

int main(){	
	fscanf(f,"%d %d",&n,&k1);
	k=1;
	while(k){
		if(succesor()){
			st[k]++;
			if (valid()){				
				if(k==k1){
					solutie();
				}
				else st[k+1]=st[k++];
			}			
		}
		else{
			st[k--]=0;
		}		
	}
	
	fclose(f);
	fclose(g);
	return 0;
}