Cod sursa(job #2408764)

Utilizator DavidAA007Apostol David DavidAA007 Data 18 aprilie 2019 12:21:03
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.17 kb
#include<fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int n,v[20],k,i,j,n0,n1;
int main()
{
    fin>>n>>k;
    /*for(i=1;i<=k;i++)
        v[i]=i;
    do
    {
        for(i=1;i<=k;i++)
            fout<<v[i]<<" ";
        fout<<"\n";
        i=k;
        while(i>=1 && v[i]==n-k+i)
            i--;
        if(i==0)
            break;
        v[i]++;
        for(j=i+1;j<=k;j++)
            v[j]=v[j-1]+1;
    }while(1);*/
    for(i=1;i<=k;i++)
        v[i]=1;
    do
    {
        for(i=1;i<=n;i++)
            if(v[i]==1)
                fout<<i<<" ";
        fout<<"\n";
        n0=0;
        n1=0;
        for(i=n;i>=1;i--)
            if(v[i]==1 && n0>0)
            {
                n1++;
                v[i]=0;
                for(j=i+1;j<=i+n1;j++)
                    v[j]=1;
                break;
            }
            else
            {
                if(v[i]==0)
                    n0++;
                else
                    n1++;
                v[i]=0;
            }
        if(i==0)
            break;
    }while(1);
    fin.close();
    fout.close();
    return 0;
}