Cod sursa(job #2759347)

Utilizator sorynnsorin besleaga sorynn Data 17 iunie 2021 01:56:01
Problema Generare de permutari Scor 20
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <stdio.h>

#define MAX 8

void swap(int *x, int*y)
{
    int t = *x;
    *x = *y;
    *y = t;
}

void permute(int *a, int l, int r)
{
    if(l==r)
    {
        for(int i = 0; i < r+1; i++)
            printf("%d ", a[i]);
        printf("\n");
    }
    else
    {
        for(int i = l; i <= r; i++)
        {
            swap(&a[l], &a[i]);
            permute(a, l+1, r);
            swap(&a[l], &a[i]);
        }
    }
}

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

    int n;
    scanf("%d", &n);

    int a[MAX]={0};

    for(int i = 0; i < n; i++)
        a[i] =i+1;

    permute(a, 0, n-1);


}