题解 | #称砝码#

称砝码

http://www.nowcoder.com/practice/f9a4c19050fc477e9e27eb75f3bfd49c

#include <bits/stdc++.h>

using namespace std;

int main(){
    int typeNum = 0;
    cin >> typeNum;
    vector<int> weight(typeNum, 0);
    for(int i = 0; i < typeNum; i++){
        int tmp = 0;
        cin >> tmp;
        weight[i] = tmp;
    }
    vector<int> nums(typeNum, 0);
    for(int i = 0; i < typeNum; i++){
        int tmp = 0;
        cin >> tmp;
        nums[i] = tmp;
    }
    
    unordered_set<int> s;
    s.insert(0); //
    for(int i = 0; i < typeNum; i++){//对于每一种砝码
        for(int j = 0; j < nums[i]; j++){//用完当前砝码的数量之前
            unordered_set<int> tmp(s);
            for(auto iter = tmp.begin(); iter != tmp.end(); iter++){//当前集合每个都可以加一次
                s.insert(*iter + weight[i]);
            }
        }
    }
    
    cout << s.size() << endl;
    
    return 0;
}
华为题库题解 文章被收录于专栏

牛客华为题库的题解

全部评论

相关推荐

11-13 20:16
已编辑
厦门理工学院 软件测试
专业嗎喽:硕佬,把学校背景放后面几段,学校背景双非还学院,让人看了就不想往下看。 把实习经历和个人奖项放前面,用数字化简述自己实习的成果和掌握的技能,比如负责项目一次通过率90%,曾4次发现项目潜在问题风险为公司减少损失等等
点赞 评论 收藏
分享
秋招投简历提醒助手:个人经验是,一般面二十场左右就会进入侃侃而谈阶段。我今年七月末的时候开始的第一次面试,都是很多不会,回复很慢。后面慢慢迭代,到九月中的时候基本上面啥说啥,很放松的状态
远程面试的尴尬瞬间
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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