Cod sursa(job #1009992)

Utilizator vlady1997Vlad Bucur vlady1997 Data 14 octombrie 2013 09:12:21
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.08 kb
        #include <cstdio>
        #include <cstring>
        using namespace std;
        int sol[11], m=0;
        bool ok[11];
        int fact (int n)
        {
            int p=1;
            for (int i=1; i<=n; i++) p*=i;
        }
        void afis (int n)
        {
            for (int i=1; i<=n; i++) printf("%d ",sol[i]); printf("\n");
        }
        void back (int n, int k)
        {
            int i;
            if (k>n) afis(n);
            else
            {
                for (i=1; i<=n; i++)
                {
                    if (ok[i]==false)
                    {
                        sol[k]=i; ok[i]=true;
                        back(n,k+1); ok[i]=false;
                    }
                }
            }
        }
        int main()
        {
            int n, i;
            freopen("permutari.in","r",stdin);
            freopen("permutari.out","w",stdout);
            scanf("%d",&n); memset(ok,false,sizeof(ok));
            back(n,1);
            fclose(stdin);
            fclose(stdout);
            return 0;
        }