怎么肥四啊?

P7071 [CSP-J2020] 优秀的拆分

@[MinecraftYinAo](/user/495681) 你想问啥
by 幽灵特工 @ 2021-08-15 22:15:58


[测评记录](https://www.luogu.com.cn/record/56010223)
by MinecraftYinAo @ 2021-08-15 22:16:37


@[幽灵特工](/user/332549) 我这只有40分。
by MinecraftYinAo @ 2021-08-15 22:17:09


@[MinecraftYinAo](/user/495681) ```cpp #include <bits/stdc++.h> using namespace std; int n; int main() { cin >> n; if (n & 1) { cout << -1 << endl; return 0; } else { for (int i = 30; i >= 1; i--) { if (n & (1<<i)) cout << (1<<i) << ' '; } } cout << endl; return 0; } ```
by 0x3F @ 2021-08-15 22:20:46


@[MinecraftYinAo](/user/495681) az真的只能对照题解改改了
by 幽灵特工 @ 2021-08-15 22:21:06


1. 数组开小了,是 $1\leq n\leq 10^7\leq 2^{24}$ 哦。 2. 用于循环输出的 $i$ 的初始值错了。
by _caiji_ @ 2021-08-15 22:21:16


@[caijianhong](/user/390033) 谢谢大佬,我来改
by MinecraftYinAo @ 2021-08-15 22:22:31


谢谢你们
by MinecraftYinAo @ 2021-08-15 22:23:00


@[caijianhong](/user/390033) 大佬……wa了三个点 [WA了](https://www.luogu.com.cn/record/56011529)
by MinecraftYinAo @ 2021-08-15 22:33:17


```cpp #include<bits/stdc++.h> using namespace std; int main() { int n,i,a[24]={0,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608},b[20]={0}; cin>>n; int num=0,x=n; if(n%2!=0) { cout<<-1; return 0; } i=0; while(x!=0) { b[i]=x%2; x/=2; i++; num++; } for(i=num-1;i>=0;i--) if(b[i]==1) cout<<a[i]<<" "; return 0; } ```
by MinecraftYinAo @ 2021-08-15 22:33:59


| 下一页