Cod sursa(job #1595937)

Utilizator TimoteiCopaciu Timotei Timotei Data 10 februarie 2016 17:27:28
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
using namespace std;
int N, K, k, v[20];
ifstream f("combinari.in");
ofstream g("combinari.out");
void afisare()
{
    for(int i = 1; i <= K; i++)
        g << v[i] << " ";
    g << "\n";
}
int valid(int k){
   for(int i = 1; i < k; i++)
    if(v[i] == v[k])return 0;
    return 1;
}
void make_bkt(int k){
    while(k > 0){
        if(v[k] < N){
            v[k]++;
            if(valid(k))
            if(k == K)afisare();
            else {
                k++;
                v[k] = v[k - 1];
            }
        }
        else k--;
    }
}
int main()
{
    f >> N >> K;
    for(int i = 1; i <= K; i++) {
      v[i] = i;
      g << i << " ";
    }
    g << "\n";
    make_bkt(K);
    return 0;
}