Cod sursa(job #1300238)

Utilizator somuBanil Ardej somu Data 24 decembrie 2014 10:58:59
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int n, k;
int st[20];

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

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

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

int main() {
    fin >> n >> k;
    comb(1);
    fin.close();
    fout.close();
    return 0;
}