20分求调
查看原帖
20分求调
915921
DougNo1楼主2024/8/18 09:39

代码:

#include <bits/stdc++.h>
using namespace std;
int n,k;
unsigned long long a,b;
string ans;
bool t=0; 
long long cf(int x){
	long long y=1;
	for(int i=1;i<=x;i++) y*=2;
	return y;
}
int main(){
    cin>>n>>k;

    a=b=cf(n-1);
    for(int i=1;i<=n;i++){
    	if(t==0){
    		if(k<a) ans+='0';
    		else{
    			ans+='1';
    			t=1;
    			b/=2;
		        a+=b;
			}
		}else if(t==1){
			if(k<a){
				ans+='1';
				t=0;
			}else{
				ans+='0';
				b/=2;
		        a+=b;
			}
		}
	}
	cout<<ans;
    return 0;
}

过样例1,提交记录

请大佬们帮我调一下代码,谢谢!

2024/8/18 09:39
加载中...