题解 | #称砝码#

称砝码

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

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner fzhinput = new Scanner(System.in);
        int fmzls = fzhinput.nextInt();
        List<Integer> fmzl = new ArrayList<>() ;
        List<Integer> fmsl = new ArrayList<>() ;
        Set<Integer> zlsz = new HashSet<>();
        if (fmzls >= 1 || fmzls <= 10) {
            for (int i = 0; i < fmzls; i++) {
                int sr = fzhinput.nextInt();
                if (sr >= 1 && sr <= 2000) {
                    fmzl.add(sr);
                }
            }
            for (int i = 0; i < fmzls; i++) {
                int sr1 = fzhinput.nextInt();
                if (sr1 >= 1 && sr1 <= 10) {
                    fmsl.add(sr1);
                }
            }
        }
        zlsz.add(0);
        for (int i = 0; i < fmzls; i++) {
            Set<Integer> dqzl = new HashSet<>(zlsz);
            for (int w : dqzl) {
                for (int j = 1; j <=fmsl.get(i); j++) {
                    int zl = w + fmzl.get(i) * j;
                    zlsz.add(zl);
                }
            }
        }

        System.out.print(zlsz.size());
    }
}

全部评论

相关推荐

牛客410815733号:这是什么电影查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务