Cod sursa(job #2032850)

Utilizator rangal3Tudor Anastasiei rangal3 Data 5 octombrie 2017 19:42:46
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#define in "combinari.in"
#define out "combinari.out"
#define N 20

using namespace std;

ifstream fin(in);
ofstream fout(out);

int sol[N],n,k;
bool f[N];

inline void afis()
{
    for(int i=1; i<=k; ++i)
        fout<<sol[i]<<" ";
    fout<<"\n";
}

inline void BK(const int &pas)
{
    if(pas >= k)
        afis();
    else
    {
        for(int i = sol[pas] + 1; i<=n; ++i)
            if(!f[i])
            {
                f[i] = 1;
                sol[pas+1] = i;
                BK(pas+1);
                f[i] = 0;
            }
    }
}

int main()
{
    fin>>n>>k;
    BK(0);

    fin.close(); fout.close();
    return 0;
}