Cod sursa(job #315516)

Utilizator sseneca16vaida cosmin sseneca16 Data 16 mai 2009 09:04:24
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<stdio.h>
long n,st[9],k,c,i;
void init(int k)
{
    st[k]=0;
}
int succesor(int k)
{
    if (st[k]<n)
    {
	st[k]++;
	return 1;
    }
    return 0;
}
int valid(int k)
{
    for (i=1; i<k; i++)
	if (st[i]==st[k]) return 0;
    return 1;
}
int solutie(int k)
{
    return k==n;
}
void afisare(int k)
{
    for (i=1; i<=k; i++)

	printf("%d ",st[i]);
 printf("\n");



}
void back(int k)
{
    init(k);
    while(succesor(k))
    {
	if (valid(k))
	    if (solutie(k))
		afisare(k);
	else back(k+1);
    }


  }




int main(void)
{
freopen("permutari.in","r",stdin);
freopen ("permutari.out","w",stdout);
scanf("%d",&n);
back(1);




return 0;
}