Cod sursa(job #2795010)

Utilizator StefanL2005Stefan Leustean StefanL2005 Data 5 noiembrie 2021 21:30:09
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.9 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;
ifstream in("combinari.in");
ofstream out("combinari.out");

void comb(int n, int k, int y, vector<int> v, vector<int> amvazut){
    if (y == k){
        for (int i = 0; i < k; i++)
            out<< v[i] << " ";
        out<< "\n";
    }
    else
    {
        for (int i = 1; i <= n; i++){
            bool ok = 0;
            int j = i;
            int Max = max(y - 1, 0);

            v[y] = i;
            amvazut[i] += 1;
            if (amvazut[i] <= 1 && v[y] >= v[Max])
                comb(n, k, y + 1, v, amvazut);
            amvazut[v[y]] -= 1;
        }
    }
}
int main()
{
    int n, k, y = 0;

    in>> n >> k;
    vector<int> v(n, 0), amvazut(n + 1, 0);

    for (int i = 0; i < n; i++)
        v[i] = i + 1;
    comb(n, k, y, v, amvazut);
    return 0;
}