大佬求带|格雷码
原题链接:43.格雷码2025-04-02 21:28:31
发布于:江苏
可恶样例#3居然还差最后两位就正解了,可偏偏错了
在ac狗的引导下成功发现a+a!=a<<1(改了会错)
求大佬帮助
死因:求a没开ull
#include<iostream>
#include<cmath>
using namespace std;
#define ull unsigned long long
ull n,k;
void f(ull n,ull k){
if(n==1){
if(k==1){
cout<<1;
return;
}else{
cout<<0;
return;
}
}
ull a=1<<(n-1);
if(k>=a){
cout<<1;
f(n-1,a+a-k-1);
}else{
cout<<0;
f(n-1,k);
}
}
int main(){
cin>>n>>k;
f(n,k);
cout << endl; // 添加换行符
return 0;
}
这里空空如也
有帮助,赞一个