数组少开了1

P5657 [CSP-S2019] 格雷码

1
by Alex_Wei @ 2019-11-17 18:46:40


~~CCF:期望50分~~
by VinstaG173 @ 2019-11-17 18:46:59


1个,你还有95
by Alviss_lky @ 2019-11-17 18:47:49


但只有50%限制了n
by gary2005 @ 2019-11-17 18:51:22


和我一样,我没用ULL,1<<63刚好爆,我也在担心有多少n=64
by gary2005 @ 2019-11-17 18:52:03


@[GaryMr](/user/106427) 您没事,您有95pts(数组开小才有这方面风险)
by 今天也要开心a @ 2019-11-17 18:57:17


@[啊哈,小甘蔗](/user/139577) 但1<<63 long long会炸
by gary2005 @ 2019-11-17 18:57:40


@[GaryMr](/user/106427) 但这个只有一个点
by 今天也要开心a @ 2019-11-17 18:58:24


@[啊哈,小甘蔗](/user/139577) ```cpp /* Author GaryMr */ #include<bits/stdc++.h> #define rb(a,b,c) for(int a=b;a<=c;++a) #define rl(a,b,c) for(int a=b;a>=c;--a) #define PB push_back() #define LL long long using namespace std; int n; LL k; void dfs(int len,LL num){ if(len==1){ if(num==1){ printf("0"); } else{ printf("1"); } return; } LL mid=(LL)(1)<<(len-1); if(num<=mid){ printf("0"); dfs(len-1,num); } else{ printf("1"); dfs(len-1,mid-(num-mid)+1); } } int main(){ // freopen("code.in","r",stdin); // freopen("code.out","w",stdout); cin>>n>>k; k++; dfs(n,k); return 0; } /* long long INF 上界 数组大小 check 内存 No! I64d! printf->f scanf->lf */ ``` 考场代码
by gary2005 @ 2019-11-17 18:58:26


mid 那里
by gary2005 @ 2019-11-17 18:58:45


| 下一页