Cod sursa(job #914548)

Utilizator gapdanPopescu George gapdan Data 14 martie 2013 11:36:16
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<cstdio>
using namespace std;
int n;
int st[100];
int valid(int k)
{
    int ev=1,i;
    for (i=1;i<k && ev==1;++i)
            if (st[i]==st[k]) ev=0;
    return ev;
}
int sol(int k)
{
    if (k==n) return 1;
        else return 0;
}
void afisare(int k)
{
    for (int i=1;i<=k;++i) printf("%d ",st[i]);
    printf("\n");
}
void back(int k)
{
    int i;
    for (i=1;i<=n;++i)
    {
        st[k]=i;
        if (valid(k)==1)
            if (sol(k)==1) afisare(k);
                else back(k+1);
    }
}
int main()
{
    freopen("permutari.in","r",stdin);
    freopen("permutari.out","w",stdout);
    scanf("%d",&n);
    back(1);
}