Cod sursa(job #3248682)

Utilizator Alex_567Toma Alex Alex_567 Data 12 octombrie 2024 17:12:24
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int x[100], n, m;

bool valid(int k)
{
    if(k > 1 && x[k] < x[k - 1])
        return false;
    for(int i = 1; i <= k - 1; i++)
        if(x[i] == x[k])
            return false;
    return true;
}

void afisare()
{
    for(int i = 1; i <= m; i++)
        g << x[i] << " ";
    g << endl;
}

void backt(int k)
{
    for(int i = 1; i <= n - m + k; i++)
    {
        x[k] = i;
        if(valid(k))
        {
            if(k == m)
                afisare();
            else
                backt(k + 1);
        }
    }
}

int main()
{
    f >> n >> m;
    backt(1);
}