Cod sursa(job #1108331)

Utilizator lorundlorund lorund Data 15 februarie 2014 16:31:03
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <cstdio>

int N, K;
int v[20], vis[20];

int main()
{
    freopen("permutari.in", "r", stdin);
    freopen("permutari.out", "w", stdout);

    scanf("%d %d", &N, &K);
    int p=1;
    while (p){
        do{
            ++v[p];
        }while (v[p]<=N && vis[v[p]]);

        if (v[p]<=N){
            if (p == K){
                for (int i=1; i<=K; ++i)
                    printf("%d ", v[i]);
                puts("");
            }
            else{
                vis[v[p]] = 1;
                ++p;
                v[p] = v[p-1];
            }
        }
        else{
            --p;
            vis[v[p]] = 0;
        }
    }
    return 0;
}