T1 80祭,各位大佬帮忙看下哪错了。

P5657 [CSP-S2019] 格雷码

d1已经完蛋了,d2再加油吧↖(^ω^)↗
by 小蒟蒻QAQ @ 2019-11-16 22:53:55


是什么错误?(WA or TLE or …)?
by 人民日报 @ 2019-11-16 22:56:20


@[Runtime—Error](/user/96738) WA
by 小蒟蒻QAQ @ 2019-11-16 23:03:56


最后四个点炸了
by 小蒟蒻QAQ @ 2019-11-16 23:04:08


比赛的时候忘记测大样例了,事实上过不了大样例,两个小样例都能过
by 小蒟蒻QAQ @ 2019-11-16 23:04:44


if(k>L) { flag=true; turn(n,2*L-k+1); } 这里应该是k>=L,因为格雷码编号是从0~2^n
by 人民日报 @ 2019-11-16 23:12:29


所以在二位格雷码时会产生00,01,11,11(考试时暴力调适了2h,经历了各种RE,CE,TLE,WA) o(╥﹏╥)o
by 人民日报 @ 2019-11-16 23:14:48


(这只是可能的错误)可能与实际不符(只是数字)
by 人民日报 @ 2019-11-16 23:15:38


开long double就行了
by gyr679 @ 2019-11-16 23:22:32


​```cpp #include<bits/stdc++.h> using namespace std; #define gc() getchar() typedef unsigned long long ll; ll a,n,shu[65]; string fen(ll a,ll n){ if(n==1){ if(a)return "1"; return "0"; } if(a<shu[n]) return "0"+fen(a,n-1); return "1"+fen(2*shu[n]-a-1,n-1); } int main(){ cin>>n>>a; for(ll i=1;i<=n;i++)shu[i]=1ll<<i-1; cout<<fen(a,n); return 0; } ​```
by 人民日报 @ 2019-11-16 23:28:31


| 下一页