Cod sursa(job #1742436)

Utilizator flaviu_2001Craciun Ioan-Flaviu flaviu_2001 Data 16 august 2016 14:27:53
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <fstream>

using namespace std;

int n, k, v[20];

void read();
bool next_combination();
void write();

int main(){
    read();
    write();
    return 0;
}

void read(){
    ifstream fin ("combinari.in");
    fin >> n >> k;
    for (int i = 1; i <= k; ++i)
        v[i] = i;
    fin.close();
}

bool next_combination(){
    int r = k;
    int f = n;
    ++v[r];
    if (v[r] == f+1){
        --v[r];
        while (v[r] == f){
            --r;
            --f;
            if (!r)
                return 0;
        }
        ++v[r];
        int e = v[r];
        for (int i = r+1; i <= k; ++i)
            v[i] = ++e;
    }
    return 1;
}

void write(){
    ofstream fout ("combinari.out");
    do{
        for (int i = 1; i <= k; ++i)
            fout << v[i] << " ";
        fout << "\n";
    }while(next_combination());
    fout.close();
}