Cod sursa(job #1001256)

Utilizator andreiblaj17Andrei Blaj andreiblaj17 Data 24 septembrie 2013 19:43:52
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#define nmax 19

using namespace std;

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

int n,k,st[nmax],m;

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

bool val(int k){
    for (int i=1; i<k; i++)
        if (st[k]==st[i]) return false;
    return true;
}

void back(int k){
    for (int i=1; i<=n; i++){
        st[k]=i;
        if (val(k) && st[k]>st[k-1]){
            if (st[1]>n-m+1) break;
            if (k==m) write();
            else back(k+1);
        }
    }
}

int main()
{
    
    in >> n >>m;
    back(1);
    
    return 0;
}