Cod sursa(job #1087767)

Utilizator geniucosOncescu Costin geniucos Data 19 ianuarie 2014 20:38:32
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<cstdio>
using namespace std;
int i,k,n,x[18];
bool valid(int k)
{
    int i;
    for(i=1;i<k;i++)
        if(x[i]==x[k]) return 0;
    return 1;
}
void back()
{
    k=1;
    x[k]=0;
    while(k>0)
    {
        while(x[k]<n&&k<=n)
        {
            x[k]++;
            if(valid(k))
            {
                if(k==n)
                {
                    for(i=1;i<=n;i++)
                        printf("%d ",x[i]);
                    printf("\n");
                }
                else
                {
                    k++;
                    x[k]=0;
                }
            }
        }
        k--;
    }
}
int main()
{
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
back();
return 0;
}