题解 | #称砝码#
称砝码
https://www.nowcoder.com/practice/f9a4c19050fc477e9e27eb75f3bfd49c
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Main main = new Main(); Scanner in = new Scanner(System.in); int n = in.nextInt(); List<Integer> list = new ArrayList<>(); Set<Integer> set = new HashSet<>(); set.add(0); while (--n >= 0) { list.add(in.nextInt()); } for (int i = 0; i < list.size(); i++) { int x = in.nextInt(); List<Integer> temp = new ArrayList<>(); for (Integer it : set) { for (int j = 0; j <= x; j++) { temp.add(it + list.get(i) * j); } } set.addAll(temp); } System.out.println(set.size()); } }