Cod sursa(job #2405025)

Utilizator bluestorm57Vasile T bluestorm57 Data 13 aprilie 2019 20:29:26
Problema Combinari Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>

using namespace std;

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

int n,m;
int st[11];

void tipar(){
    int i;
    for(i = 1 ; i <= m ; i++){
        g << st[i] << " ";
    }
    g << "\n";
}

bool valid (int k){
    int i;
    for(i = 1 ; i < k ; i++)
        if(st[i] == st[k] || st[i] > st[i + 1])
            return 0;
    return 1;
}

void back(){
    int k = 1;
    st[k] = 0;
    while(k){
        while(st[k] < n){
            st[k] ++;

            if(valid(k))
                if(k == m)
                tipar();
                else{
                    k++;
                    st[k] = 0;
                }
        }
        k--;
    }
}

int main(){
    f >> n >> m;
    back();

return 0;
}