不知道原因啊
by over_blue_sky @ 2019-04-10 18:44:35
你的太复杂了。
```
#include<bits/stdc++.h>
using namespace std;
int a[100];//储存每个钱包的钱数,不可能超过100个
int main()
{
int money,ans=0;//钱数,答案
cin>>money;
for(int i=1;i<=money;i*=2)//枚举2的倍数
{
money-=i;//减去装袋的
a[++ans]=i;//装袋
}
if(money) a[++ans]=money;//如果剩余不为0
for(int i=1;i<ans;++i)//枚举之前的每个袋子,看有没有和其相等
{
if(money==a[i])
{
a[ans]++;
a[i]--;
}
}
sort(a+1,a+ans+1);//排序输出
cout<<ans<<endl;
for(int i=1;i<=ans;++i)
cout<<a[i]<<' ';
return 0;
}
```
by 陈启旺 @ 2019-04-10 19:15:38
@[陈启旺](/space/show?uid=180322) ~~你怕是没有见过真正的"复杂"...~~
~~我的代码基本上都是在2kb以上~~
by aminoas @ 2019-04-10 19:20:16
@[陈启旺](/space/show?uid=180322) 谢谢大佬
orz
by over_blue_sky @ 2019-04-11 18:37:08
我第一次点3没过因为5的倍数...
by ACtheair @ 2019-07-23 20:29:49
@[cwxtcl](/space/show?uid=136810) 我就一个点3过了,你们在这里说点3.。。(滑稽)
by fresh_boy @ 2019-08-14 15:58:42
@[陈启旺](/space/show?uid=180322)
您这个会被HACK掉吧?
比如说4
by sunxiaofan @ 2019-09-20 22:57:01