当前位置: 首页 > news >正文

[蓝桥杯 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);}
}

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

http://www.dtcms.com/a/167569.html

相关文章:

  • Android12 Rom定制设置默认语言为中文
  • c++题目_P1027 [NOIP 2001 提高组] Car 的旅行路线
  • SALOME源码分析: Data Object Model
  • JavaScript学习教程,从入门到精通, jQuery 下拉菜单、显示隐藏元素及查找元素方法详解(32)
  • 如何将 VS Code 与 Linux 系统高效连接:从入门到进阶
  • 归因理论——AI与思维模型【87】
  • RAG技术完全指南(一):检索增强生成原理与LLM对比分析
  • 第 2.3 节: 基于 Python 的关节空间与任务空间控制
  • MATLAB中removedelay函数用法
  • Android短信监控技术实现:合法合规的远程采集方案
  • 【AI论文】ReasonIR:为推理任务训练检索器
  • 【Unity】一个UI框架例子
  • 【C到Java的深度跃迁:从指针到对象,从过程到生态】第五模块·生态征服篇 —— 第十九章 Spring生态:从main函数到企业级开发
  • Spring IoC容器的设计与实现
  • 数字智慧方案6158丨智慧医疗解决方案精华版(58页PPT)(文末有下载方式)
  • 【音频】Qt6实现MP3播放器
  • Seata服务端同步提交事务核心源码解析
  • 【音频】基础知识
  • AI数字人系统开发:技术架构、应用场景与未来趋势
  • 西式烹饪实训室建设路径
  • 图论---有向图的强连通分量(Tarjan求SCC)
  • 内存安全的攻防战:工具链与语言特性的协同突围
  • 【docker学习笔记】如何删除镜像启动默认命令
  • Spring AI开发跃迁指南(第二章:急速上手3——Advisor核心原理、源码讲解及使用实例)
  • 多线程系列二:Thread类
  • 安装linux下的idea
  • Git 基本操作(一)
  • ARM ASM
  • watch 数组 Vue 3
  • 【AI提示词】决策树专家