Cod sursa(job #403241)

Utilizator dudutCancel Radu Constantin dudut Data 24 februarie 2010 19:00:08
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<stdio.h>
int st[10],n,k;
int exista(int k)
{if(st[k]<n) return 1;
else return 0;
}
int cont(int k)
{int i;
for(i=1;i<k;i++)
	if(st[i]==st[k])
		return 0;
return 1;
}
int solutie(int k)
{if (k==n) return 1;
else return 0;
}
void tipar(int k)
{int i;
for(i=1;i<=k;i++)
	printf("%d ",st[i]);
printf("\n");
}
void init(int k)
{st[k]=0;
}
void back()
{k=1;
while(k>0)
{if(exista(k))
{st[k]+=1;
if(cont(k))
	if(solutie(k))
		tipar(k);
	else
		{k=k+1;
	init(k);
		}
}
else
k-=1;
}
}
int main()
{freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
back();
return 0;
}