建一个模板,用二进制来枚举子集2^n-1;
void print_subset(int n, int s)
{
for(int i=0; i<n ; i++)
if(s&(1<<i))
printf("%d ", i);
printf("\n");
}
//枚举子集
for(int i=0;i<(1<<n);i++)
print_subset(n,i);
建一个模板,用二进制来枚举子集2^n-1;
void print_subset(int n, int s)
{
for(int i=0; i<n ; i++)
if(s&(1<<i))
printf("%d ", i);
printf("\n");
}
//枚举子集
for(int i=0;i<(1<<n);i++)
print_subset(n,i);