Cod sursa(job #2282019)

Utilizator Gl0WCula Stefan Gl0W Data 13 noiembrie 2018 08:15:50
Problema Combinari Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.9 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream fin ("combinari.in");
ofstream fout ("combinari.out");

int n, p, x[20], w[20], f[20];

int cont(int k){
    for(int i = 1; i < k; i++){
        if(x[k] == x[i]){
            return 0;
        }
    }
    return 1;
}

void bkt(int k){
    if(k > p){
        int ok = 1;
        for(int i = 1; i < p; i++){
            if(x[i] > x[i + 1]){
                ok = 0;
            }
        }
        if(ok){
            for(int i = 1; i <= p; i++){
                fout<<x[i]<<" ";
            }
            fout<<"\n";
        }
    }
    else{
        for(int i = 1; i <= n; i++){
            x[k] = i;

            if(f[x[k]] == 0){
                f[i] = 1;
                bkt(k + 1);
                f[i] = 0;
            }
        }
    }
}

int main()
{
    fin>>n>>p;
    bkt(1);
    return 0;
}