Cod sursa(job #1009997)

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