解题思路:
注意事项:
参考代码:
import java.util.*; import java.io.*; public class Main { static StreamTokenizer cin; static PrintWriter out; static int N; // N个砝码 static HashSet<Integer> arr; static int[] nums; static int count; public static void main(String[] args) throws IOException { cin = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); out = new PrintWriter(new OutputStreamWriter(System.out)); N = nextInt(); arr = new HashSet<>(); nums = new int[N + 1]; for(int i = 1; i < N+1; i++) { int num = nextInt(); nums[i] = num; } arr.add(nums[1]); for(int i = 2; i < N+1; i++) { HashSet<Integer> t = new HashSet<>(arr); for(int num:t) { int a = nums[i]+num; int b = Math.abs(nums[i]-num); arr.add(a); if(b!=0) arr.add(b); } arr.add(nums[i]); } out.println(arr.size()); out.flush(); out.close(); } static int nextInt() throws IOException { cin.nextToken(); return (int) cin.nval; } }
0.0分
2 人评分