Cod sursa(job #1892944)

Utilizator TibiraducanuTiberiu Raducanu Tibiraducanu Data 25 februarie 2017 13:30:31
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <bits/stdc++.h>

using namespace std;

int v[20],n,k,pos;
bool check[20];
char s[50];

void bkt(int p){
    if(p==k+1){
        pos=0;
        for(int i=1;i<=k;i++){
            if(v[i]>=10){
                s[pos]='0'+v[i]/10;
                s[pos+1]='0'+v[i]%10;
                s[pos+2]=' ';
                pos+=3;
            }
            else{
                s[pos]='0'+v[i];
                s[pos+1]=' ';
                pos+=2;
            }
        }
        s[--pos]=NULL;
        printf("%s\n",s);
    }
    else{
        for(int i=v[p-1]+1;i<=n;i++){
            if(check[i]==0){
                check[i]=1;
                v[p]=i;
                bkt(p+1);
                check[i]=0;
            }
        }
    }
}

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

    scanf("%d%d",&n,&k);
    bkt(1);

    return 0;
}