Cod sursa(job #1671967)

Utilizator GeorginskyGeorge Georginsky Data 2 aprilie 2016 11:51:53
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("combinari.in");
ofstream out("combinari.out");
int n, k, v[19];
void afisare(){
    for(int i=1; i<=k; i++){
        out<<v[i]<<" ";
    }
    out<<"\n";
}

bool sol(int x){
    if(x==k){
        return true;
    }
    return false;
}

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

void bk(int x){
    for(int i=1; i<=n; i++){
        v[x]=i;
        if(valid(x)){
            if(sol(x)){
                afisare();
            }else{
                bk(x+1);
            }
        }
    }
}
int main(){
    in>>n>>k;
    bk(1);
    return 0;
}