Cod sursa(job #1261266)

Utilizator Andrei11Andrei Andrei11 Data 12 noiembrie 2014 08:49:01
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <stdio.h>
using namespace std;
int i,n, st[9];
void tipar(int p)
{
    for(i=1;i<=p;i++)
        printf("%d ",st[i]);
    printf("\n");
}
bool valid(int p)
{
    for(i=1;i<=p;i++)
    {
        int j=i+1;
        while(j<=p)
        {
            if(st[i]==st[j])return 0;
            j++;
        }
    }

    return 1;
}
void back(int p)
{
    for(int pval=1;pval<=n;pval++)
    {
        st[p]=pval;
        if(valid(p))
        {
            if(p==n)
                tipar(p);
            else back(p+1);
        }
    }
}
int main()
{
    freopen("permutari.in","r",stdin);
    freopen("permutari.out","w",stdout);
    scanf("%d" ,&n);
    back(1);
    return 0;
}