Cod sursa(job #1249557)

Utilizator tudor_bonifateTudor Bonifate tudor_bonifate Data 27 octombrie 2014 09:52:29
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.13 kb
#include <iostream>
#include <fstream>
using namespace std;
int a[100],b[100],p,nr,i,j,n,m,aux,k,k1;
ifstream f("combinari.in");
ofstream g("combinari.out");
int main()
{
    f>>n>>k;
    for (i=1; i<=n; i++)
    {
        a[i]=i;
    }
    for (i=(1<<n)-1; i>=1; i--)
    {

        k1=0;
        nr=0;
        aux=i;
        while (aux!=0)
        {
            nr++;
            p=aux%2;
            if (p==1)
            {
                b[n+1-nr]=a[n+1-nr];
            }
            aux=aux/2;
        }
        for (j=1; j<=n; j++)
        {
            if (b[j]!=0)
            {
                k1++;
            }
        }
        if (k1==k)
        {
            for (j=1; j<=n; j++)
            {
                if (b[j]!=0)
                {
                    g<<b[j]<<' ';
                    b[j]=0;
                }
            }
            g<<'\n';
        }
        else
        {
            for (j=1; j<=n; j++)
            {
                if (b[j]!=0)
                {
                    b[j]=0;
                }
            }
        }
    }
    return 0;
}