Cod sursa(job #664434)

Utilizator a96tudorAvram Tudor a96tudor Data 20 ianuarie 2012 08:53:23
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include<cstdio>
using namespace std;
int n,a[1000],sol[1000],i;
bool pus[1000];
void afis()
{
    int i;
    for (i=1;i<=n;i++)
        printf("%d ",a[sol[i]]);
    printf("\n");
}
void perm(int k)
{
    int i;
    if (k>n  ) afis;
        else
        {
            for (i=1;i<=n;i++)
                if (!pus[i]) { sol[k]=i;
                               pus[i]=true;
                               perm(k+1);
                               pus[i]=false;
                            }
        }
}
int main()
{
    freopen("permutari.in","r",stdin);
    freopen("permutari.out","w",stdout);
    scanf("%d",&n);
    for (i=1;i<=n;i++)
    {
        a[i]=i;
        pus[i]=false;
    }
    perm(1);
    return 0;
}