Cod sursa(job #489931)

Utilizator dinuddinu dan dinud Data 4 octombrie 2010 09:11:19
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
# include <stdio.h>

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

int x[100],n,k,m;

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

void tipar () { 
	for (int i=1;i<=m;i++)
		fprintf(g,"%d ",x[i]);
	fprintf(g,"\n");
}


int main () {
	fscanf(f,"%d %d",&n,&m);
	k=1;
	x[1]=0;
	while (k!=0) {
		if (x[k]<n) {
			x[k]++;
			if(cont (k))
				if(k==m)
					tipar();
				else{
					k++;
					x[k]=0;}
		} 
		else k--;
	}
	
	fclose(f);
	fclose(g);
	
	return 0;
}