Cod sursa(job #3211650)

Utilizator YuzukyIstrate Andreea Ruxandra Yuzuky Data 9 martie 2024 19:35:28
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("combinari.in");
ofstream out("combinari.out");
int v[19], n, k;
//avem completate toate pozitiile de la 1 la pos -1
//vrem sa completam pozitia de jos
void bkt(int pos)  //backtracking
{
    if(pos==k+1)
    {
        //am completat toate pozitiile, afisam vectorul
        for(int i=1; i<=k; ++i)
            out<<v[i]<<" ";
        out<<'\n';
    }
    else
    {
        //completam pozitia pos
        //incepem de la valoarea trecuta in pozitia anterioara +1
        for(int val=v[pos-1]+1; val<=n; ++val)
        {
            v[pos]=val;
            bkt(pos+1); //apelam functia pentru pos+1
        }
    }
}
int main()
{
    in>>n>>k;
    for(int i=1; i<=n; ++i)
        v[i]=i;
    bkt(1);
    return 0;
}