P1157 组合的输出-枚举子集
wflengxuenong · · 个人记录
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <algorithm>
#include <math.h>
using namespace std;
int v[30];;
int n,r;
int main()
{
scanf("%d%d",&n,&r);
int num=0;
for(int i=(1<<n)-1;i>0;i--)
{
int cnt=0;
for(int j=n-1;j>=0;j--)
if(i&(1<<j)){
v[cnt++]=n-j;
}
if(cnt==r){
for(int j=0;j<r;j++)
printf("%3d",v[j]);
cout<<endl;
num++;
}
}
return 0;
}