Cod sursa(job #855838)

Utilizator raulmuresanRaul Muresan raulmuresan Data 15 ianuarie 2013 18:16:57
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <cstdio>

using namespace std;

int n,st[20];

void init(int x)
{
    int j;
    for(j=1;j<=x;j++)
        st[j]=0;
}

void tipar(int x)
{
    int j;
    for(j=1;j<=x;j++)
        printf("%d ",st[j]);
    printf("\n");
}

int valid(int vf0)
{
    int j,ok=1; //pp e valid
    for(j=1;j<=vf0-1;j++)
        if(st[vf0]==st[j]) return 0;
    return 1;
}

void back(int vf)
{
    int k;
    for(k=1;k<=n;k++)
    {
        st[vf]=k;
        if (valid(vf)==1)
        {
            if (vf==n) tipar(vf);
                    else back(vf+1);
        }
    }
}


int main()
{
    freopen("permutari.in","r",stdin);
    freopen("permutari.out","w",stdout);

    scanf("%d",&n);

    back(1);

    return 0;
}