Cod sursa(job #1892908)

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

using namespace std;

int v[20],n,k,N,i,j,cnt,pos;
char s[10];

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

    scanf("%d%d",&n,&k);
    N=(1<<n)-1;

    for(i=1;i<=N;i++){
        cnt=0, pos=0;
        for(j=0;j<n;j++)
            if((1<<j)&i) cnt++;

        if(cnt==k){
           for(j=0;j<n;j++)
            if((1<<j)&i){
                if((j+1)>=10){
                    s[pos]='0'+(j+1)/10;
                    s[pos+1]='0'+(j+1)%10;
                    s[pos+2]=' ';
                    pos+=3;
                }
                else{
                    s[pos]='0'+j+1;
                    s[pos+1]=' ';
                    pos+=2;
                }
            }
            s[--pos]=NULL;
            printf("%s\n",s);
        }
    }

    return 0;
}