欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > [蓝桥杯 2021 省 AB] 砝码称重 Java

[蓝桥杯 2021 省 AB] 砝码称重 Java

2025/5/2 5:38:19 来源:https://blog.csdn.net/2301_76683370/article/details/147656772  浏览:    关键词:[蓝桥杯 2021 省 AB] 砝码称重 Java

import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] w = new int[n + 1];int sum = 0; // 所有砝码重量之和for (int i = 1; i <= n; i++) {w[i] = sc.nextInt();sum += w[i];}sc.close();int[] dp = new int[sum + 1]; // 表示重量i是否能称出dp[0] = 1; // 0重量可以称出int ans = 0;for (int i = 1; i <= n; i++) {for (int j = sum; j >= w[i]; j--) { // 天平一边放重量为w[i]的砝码,一边放重量为j的砝码if (dp[j - w[i]] == 1 && dp[j] != 1) { // j-w[i]重量可以求出,同时j重量的砝码没被放过dp[j] = 1;ans++;}}}for (int i = 1; i <= n; i++) {for (int j = 1; j + w[i] <= sum; j++) { // 天平放重量j的那一边的砝码移到w[i]那一边上if (dp[j + w[i]] == 1 && dp[j] != 1) { // j+w[i]重量可以求出,同时j重量的砝码没被放过dp[j] = 1;ans++;}}}System.out.println(ans);}
}

每日一水~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词