求助大佬们,一个点3过不去

P2320 [HNOI2006] 鬼谷子的钱袋

不知道原因啊
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


|