题解 | #神奇的口袋#

神奇的口袋

https://www.nowcoder.com/practice/9aaea0b82623466a8b29a9f1a00b5d35

#include <iostream>
using namespace std;

int v[21];

int judge(int index,int remain){
    if(remain == 0) return 1; //成功
    if(index <= 0) return 0; //下標無效,捨棄
    return judge(index-1,remain) + judge(index-1, remain - v[index]);
    /*
    從第n個物品往前取。試探性取第index個物品,如果不行會返回0.
    取了第index個物品後,如果剩餘體積remain仍然大於0,代表沒有取淨,還可以繼續取,這個時候再試試取第index-1個物品也就是前一個物品。
    如果等於0,代表取淨,本次算法結束,次數+1。
    */
}

int main() {
    int n ,i;
    cin >> n;

    for(i = 1; i <= n ; i ++ ){
        cin >> v[i];
    } //物品從下標1開始存放於v[]

    cout << judge(n, 40) << endl;

    return 0;
}

全部评论

相关推荐

感觉他们一点都不了解现在这个社会就业有多难,已经在牛客刷到好多篇&nbsp;延毕的帖子了,延毕就会导致已经找好的工作就没了,还得重新再找,学校和老师们是怎么想的呢????看到学生丢失工作会开心吗&nbsp;就业数据都在造假,真实的就业困难不去解决&nbsp;一个个真是好样的
从明天开始狠狠卷JV...:学生看到的是导师不放实习导致offer黄了。 导师看到的是招进来的学生吃自己补助和自己的招生名额,却没给自己升迁带来任何帮助,还要跑路。 根本利益的不一致,最主要留校的导师大概率是职场上招聘失败的,被迫留校的,什么牛鬼蛇神都会有
点赞 评论 收藏
分享
06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务