题解 | #称砝码#

称砝码

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

暴力解法,set去重,一会儿去看看大佬们的思路

#include<bits/stdc++.h>

using namespace std;

int main(){
    
    int n;
    while(cin>>n){
        vector<int> m;
        vector<int> x;
        int a,b;
        for(int i=0;i<n;++i){
            cin>>a; m.push_back(a);
        }
        for(int i=0;i<n;++i){
            cin>>b; x.push_back(b);
        }
        set<int> s;
        s.insert(0);
        for(int i=0;i<n;i++){
            for(int j=0;j<x[i];++j){
                set<int> tmps;
                for(auto it=s.begin();it!=s.end();++it)
                {
                    tmps.insert(*it+m[i]);
                }
                for(auto it=tmps.begin();it!=tmps.end();++it)
                    s.insert(*it);
            }
        }
        cout<<s.size()<<endl;
    }
    return 0;
}


全部评论

相关推荐

在瑞幸干两年,奥特曼都得闪灯
不知名的牛友:奥特曼每天只上3分钟班
点赞 评论 收藏
分享
鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-27 20:55
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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