我在想最后这个64位测试点怎么整……

P5657 [CSP-S2019] 格雷码

[RT](https://from.blog.luogu.org/solution-p5657)
by ____蒟蒻____ @ 2019-11-16 17:35:30


1ull<<n,看到这句话我就知道您一定会当场去世
by tzc_wk @ 2019-11-16 17:43:54


[RT](https://www.luogu.org/blog/zyy-2006/solution-p5657)
by zyy121212 @ 2019-11-16 17:45:36


@[ET2006](/user/115194) 1ull<<n这句话出现在哪行……
by mcendu @ 2019-11-16 17:49:34


[RT](https://www.luogu.org/blog/yltx/solution-p5657)
by 引领天下 @ 2019-11-16 17:51:25


@[ET2006](/user/115194) 为啥要用ull啊,降到1<<63不就完事了。
by 引领天下 @ 2019-11-16 17:51:42


@[Creator](/user/88551) nb
by happyZYM @ 2019-11-16 18:35:13


```cpp #include<bits/stdc++.h> using namespace std; string getcode(int n,unsigned long long k) { if (n==1) { if (k==0) return "0"; else return "1"; } if (k<(unsigned long long)pow(2,n-1)) return "0"+getcode(n-1,k); else { return "1"+getcode(n-1,(unsigned long long)pow(2,n)-(unsigned long long)k-(unsigned long long)1); cout<<k<<endl; } } int main() { int n; unsigned long long k; cin>>n>>k; cout<<getcode(n,k)<<endl; return 0; } ```
by twentyaurora @ 2019-11-16 18:53:40


|