1 条题解

  • 1
    @ 2022-11-3 20:07:55

    思路:dfs递归解决

    #include <bits/stdc++.h>
    using namespace std;
    typedef unsigned long long ULL;
    void dfs(int n,ULL k){
    	if(n <= 0)return ;
    	if(n == 1)
        {
    		if(k == 0)
    			printf("0");
    		else printf("1");
    		return ;
    	}
    	ULL x = ULL(pow(2 , n - 1));
    	if(k < x)
        {
    		printf("0");
    		dfs(n - 1,k);
    	} 
    	else
        {
    		printf("1");
    		dfs(n - 1,x - 1 - k + x);
    	}
    	return ;
    }
    int main(){
        //freopen("code.in","r",stdin);
        //freopen("code.out","w",stdout);
    	int n;
    	ULL k;
    	scanf("%d%llu",&n,&k);
    	dfs(n , k);
    	return 0;
    }
    
    • 1

    信息

    ID
    180
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    2
    已通过
    2
    上传者