Cod sursa(job #1561156)

Utilizator mirupetPetcan Miruna mirupet Data 3 ianuarie 2016 18:41:53
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<cstdio>
using namespace std;

int N;
int v[10];
void bk (int);

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

        scanf("%d", &N);

        bk(0);
    }

void bk (int k)
{
    if (k == N)
    {
        for (int i = 1; i <= N; i++)
            printf("%d ", v[i]);
        printf("\n");
    }
    else
        for (int i = 1; i <= N; i++)
        {
            bool ok = 1;
            for (int j = 1; j <= k; j++)
                if (v[j] == i)
                {
                    ok = 0;
                    break;
                }
            if (ok)
            {
                v[k + 1] = i;
                bk(k + 1);
            }
        }
}