玄关递归求调
查看原帖
玄关递归求调
1275819
nzlys04楼主2024/11/9 15:07
rt,求助
#include<bits/stdc++.h>
using namespace std;
int n,k;
int a[32];
void findsub(int now,int up){
	if(now>n)return;
	if(now!=0)
		cout<<now<<" ";
	int cnt=0;
	for(int i=up-1;i>=0;i--){
		cnt+=1<<i;
		if(cnt>=k){
			k-=cnt-1<<i;
			findsub(now+up-i,i);
			break;
		}
	}
} 
int main(){
//	freopen("subsets.in","r",stdin);
//	freopen("subsets.out","w",stdout);
	cin>>n>>k;
	if(k==1){
		cout<<0;
		return 0;
	}
	k--;
	findsub(0,n);
	return 0;
} 
'''
2024/11/9 15:07
加载中...