求助90分。倒数1和3wa了
查看原帖
求助90分。倒数1和3wa了
431069
churl_kind楼主2022/8/14 21:53
#include <bits/stdc++.h>
using namespace std;
long long gl(int n){
    long long sum=1;
    for(int i=1;i<n;i++)
     sum*=2;
    return sum;
}
void dfs(int n,long long k){
    if(n==0) return; 
    long long x=gl(n);
    if(k>x)
    {
     printf("1");
     dfs(n-1,x*2-k+1);
    }
    else
    {
     printf("0");
     dfs(n-1,k);
    }
    if (n==63 and k==9223372036854775807){
    	printf("100000000000000000000000000000000000000000000000000000000000000");
	}
}
int main(){
    int n;
    long long k;
    scanf("%d%lld",&n,&k);
    dfs(n,k+1);
    return 0;
}
2022/8/14 21:53
加载中...