95pts求条
查看原帖
95pts求条
656447
__Ship_楼主2024/10/20 09:03

rt 加了特判也没用

#include<bits/stdc++.h>

using namespace std;
unsigned long long n,k,sums,mid,l,r,flag=0,s;
int main(){
// 	freopen("code.in","r",stdin);
// 	freopen("code.out","w",stdout);
	cin>>n>>k;
	sums=pow(2,n);
	if(n==64&&k==pow(2,64)-1){
	    cout<<1;
	    for(int i = 2 ; i <= 64 ; i++){
	        cout<<0;
	    }
	    return 0;
	} 
	k++;
	long long l=1,r=sums;
	while(n--&&n!=0){
		if(flag==1){
			if(k<=pow(2,n)){
				flag=0;
				cout<<1;
			}
			else{
				flag=1;
				cout<<0;
				k-=pow(2,n);
			}
		}
		else{
			if(k<=pow(2,n)){
				flag=0;
				cout<<0;
			}
			else{
				flag=1;
				cout<<1;
				k-=pow(2,n);
			}
		}
	}
	if(flag==1){
		if(k<=pow(2,n)){
			cout<<1;
		}
		else{
			cout<<0;
		}
	}
	else{
		if(k<=pow(2,n)){
			cout<<0;
		}
		else{
			cout<<1;
		}
	}
	return 0;
}

2024/10/20 09:03
加载中...