Cod sursa(job #757071)
Utilizator | Data | 10 iunie 2012 22:52:19 | |
---|---|---|---|
Problema | Combinari | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.37 kb |
#include<cstdio>
using namespace std;
int d1(int a)
{
if(!a)
return 0;
return 1+d1((a-1)&a);
}
int main()
{
freopen("combinari.in","r",stdin);freopen("combinari.out","w",stdout);
int n,k,l,i,j;
scanf("%d%d",&n,&k);l=(1<<n)-1;
for(i=1;i<=l;i++)
if(d1(i)==k)
{
for(j=n-1;j>=0;j--)
if((i>>j)&1)
printf("%d ",n-j);
printf("\n");
}
}