Cod sursa(job #1413415)

Utilizator crysstyanIacob Paul Cristian crysstyan Data 1 aprilie 2015 20:59:57
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#define NMAX 20

using namespace std;

ifstream f("combinari.in");
ofstream g("combinari.out");

int i, n, v[NMAX], k, m;

void afisare()
{
    for (int i=1; i<=n; ++i)
        g<<v[i]<<" ";
    g<<'\n';
}

bool ok()
{
    for (i=1; i<=k-1; ++i)
        if (v[i]>=v[k]) return 0;
    return 1;
}

void backtracking()
{
    k=1;
    while (k)
    {
        bool gasit=0;
        while (!gasit && v[k]<m)
        {
         v[k]++;
         if (ok()) gasit=1;
        }
        if (gasit==0) k--;
        else
            if (k==n) afisare();
        else
            v[++k]=0;
    }
}

int main()
{
    f>>m>>n;
    backtracking();
    return 0;
}