第4题: Scanner in = new Scanner(System.in); String[] aStr = in.nextLine().split(" "); int total = Integer.parseInt(in.nextLine()); int[] a = new int[aStr.length]; for (int i = 0; i < a.length; i++) { a[i] = Integer.parseInt(aStr[i]); } Arrays.sort(a); int min = a[0]; if (min > total){ System.out.println(1); return; } int[] dp = new int[total + 1]; dp[0] = 1; for (int i = a.length - 1; i >= 0; i--) { for (int j = a[i]; j < total + 1; j++) { dp[j] += dp[j - a[i]]; } } for (int i = 1; i < min; i++) { dp[total] += dp[total - i]; } System.out.println(dp[total]);
点赞 评论

相关推荐

微风不断:兄弟,你把四旋翼都做出来了那个挺难的吧
点赞 评论 收藏
分享
10-15 09:13
已编辑
天津大学 soc前端设计
点赞 评论 收藏
分享
牛客网
牛客企业服务