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

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

题目描述

你有一架天平和 N N N 个砝码, 这 N N N 个砝码重量依次是 W 1 , W 2 , ⋯ , W N W_{1}, W_{2}, \cdots, W_{N} W1,W2,,WN 。 请你计算一共可以称出多少种不同的重量?

注意砝码可以放在天平两边。

输入格式

输入的第一行包含一个整数 N N N

第二行包含 N N N 个整数: W 1 , W 2 , W 3 , ⋯ , W N W_{1}, W_{2}, W_{3}, \cdots, W_{N} W1,W2,W3,,WN

输出格式

输出一个整数代表答案。

样例 #1

样例输入 #1

3
1 4 6

样例输出 #1

10

提示

【样例说明】

能称出的 10 种重量是: 1 、 2 、 3 、 4 、 5 、 6 、 7 、 9 、 10 、 11 1 、 2 、 3 、 4 、 5 、 6 、 7 、 9 、 10 、 11 123456791011

1 = 1 2 = 6 − 4 ( 天平一边放  6 , 另一边放 4)  3 = 4 − 1 4 = 4 5 = 6 − 1 6 = 6 7 = 1 + 6 9 = 4 + 6 − 1 10 = 4 + 6 11 = 1 + 4 + 6 \begin{aligned} &1=1 \\ &2=6-4(\text { 天平一边放 } 6, \text { 另一边放 4) } \\ &3=4-1 \\ &4=4 \\ &5=6-1 \\ &6=6 \\ &7=1+6 \\ &9=4+6-1 \\ &10=4+6 \\ &11=1+4+6 \end{aligned} 1=12=64( 天平一边放 6, 另一边放 4) 3=414=45=616=67=1+69=4+6110=4+611=1+4+6

【评测用例规模与约定】

对于 50 % 50 \% 50% 的评测用例, 1 ≤ N ≤ 15 1 \leq N \leq 15 1N15

对于所有评测用例, 1 ≤ N ≤ 100 , N 1 \leq N \leq 100, N 1N100,N 个砝码总重不超过 1 0 5 10^5 105

蓝桥杯 2021 第一轮省赛 A 组 F 题(B 组 G 题)。

import java.util.Scanner;public class Main {private static final int N = 150000;//假设砝码总重量<150000private static int n, sum, w;private static boolean[][] f = new boolean[2][2 * N + 1];//[天平][砝码重量]public static void main(String[] args) {Scanner scanner = new Scanner(System.in);n = scanner.nextInt();
//f[i][j] 表示在使用前 i 个砝码的情况下,能否称出重量为 j 的物品。f[0][N] = true;//表示不使用任何砝码时,可以称出 0 克的重量for (int i = 1; i <= n; ++i) {//遍历砝码w = scanner.nextInt();sum += w;for (int j = -sum; j <= sum; ++j) {//遍历砝码重量区间//i % 2 是为了在每次迭代过程中交替使用两个子数组,实现所谓的“滚动数组优化”,减少内存消耗//在当前考虑到了前 i 个砝码的情况下,能否组合出重量为 j 的物体f[i % 2][j + N] = f[(i - 1) % 2][j - w + N] || f[(i - 1) % 2][j + w + N] || f[(i - 1) % 2][j + N];}}int ans = 0;for (int i = 1; i <= sum; ++i) {if (f[n % 2][i + N]) {ans++;}}System.out.println(ans);}
}```

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/817638.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

这个Python神器,能让你摸半天鱼!

今天给大家分享一个炒鸡炒鸡简单又好用的神器——pampy。 我敢以我的荣誉保证&#xff0c;用了它之后&#xff0c;你写代码的效率可以蹭蹭蹭地提升&#xff01; Pampy 是哪路神仙 首先普及一下模式匹配。 模式匹配即给定某种模式&#xff0c;用这种模式去检查序列或字符串是…

numpy/arrayobject.h: No such file or directory

catkin编译时出现,numpy/arrayobject.h: No such file or directory 错误表明编译过程中找不到 NumPy 相关的头文件。这通常是因为环境中的 NumPy 没有被正确配置到包含路径中,或者 NumPy 没有被安装。以下是几个解决步骤来帮助你解决这个问题: 确认 NumPy 已安装 首先,确保…

AUTOSAR Interrupt

AUTOSAR中断 中断提供了应用程序与现实世界中发生的事情之间的接口。例如,我们可以使用中断来捕获正在按下的按钮,以标记时间的流逝或捕捉一些其他刺激。 当中断发生时,处理器通常先查询本地存储的预配置的中断向量。中断向量一般包含了对应中断句柄的地址。 单级中断和嵌…

前端页面显示时间与数据库时间差8小时

环境 jdk11mysql 8.0docker部署的 问题 突然发现页面上的数据比数据库的时间差了八个小时&#xff0c;然后我就开始排查问题。 首先看数据库的信息&#xff0c;发现时间都是没错的。 然后看一下ymal文件&#xff0c;是否是数据源链接写的有问题。 spring:datasource:url:…

NzN的数据结构--外排序

接上文&#xff0c;本篇向大家简单展示一下外排序的实现。先三连后看才是好习惯&#xff01;&#xff01;&#xff01; 在我们刚接触数据结构的时间里&#xff0c;我们只需要对外排序简单了解一下即可&#xff0c;重点要掌握的还是前面我们介绍的比较排序和非比较排序里的计数排…

蓝色系UX/UI设计求职面试作品集模版figmasketchPPT可编辑源文件

页面数量: 20P 页面尺寸:1920*1080PX 交付格式&#xff1a;figma、sketch、PPT 赠送文件&#xff1a;24款高质量样机&#xff08;PSD格式&#xff09; 该作品集虽然只有20页&#xff0c;但可根据需求复制作品集里已有的页面作为模版来扩展您的设计项目 该作品集模版可编辑可修…

【Qt 学习笔记】QWidget的styleSheet属性 | RGB | 在线调色板

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ QWidget的styleSheet属性 文章编号&#xff1a;Qt 学习笔记 / 20 文章…

都2024年了,还不知道怎么学习网络安全?来看看吧,很难找全的

前言 最近收到不少关注朋友的私信和留言&#xff0c;大多数都是零基础小友入门网络安全&#xff0c;需要相关资源学习。其实看过的铁粉都知道&#xff0c;之前的文里是有过推荐过的。新来的小友可能不太清楚&#xff0c;这里就系统地叙述一遍。 01.简单了解一下网络安全 说白…

Linux中断(栈、上下部)

进程线程中断的核心&#xff1a;栈 进程切换时&#xff0c;需要将当前进程的寄存器参数保存在当前进程的栈中。要再次执行此进程时需要先从栈中恢复此进程的寄存器参数。 对于同个进程的不同线程&#xff0c;代码和数据是所有线程共享的&#xff0c;所以线程间可以通过全局变量…

Swift中的字符串

Swift中的字符串是一个有序的字符集合&#xff0c;用于存储和操作文本数据。字符串由一系列的Unicode字符组成&#xff0c;可以包含任意的字符&#xff0c;包括字母、数字、符号和空格等。 在Swift中&#xff0c;字符串的类型是String&#xff0c;可以使用双引号或者三引号来表…

企业级网络安全:入侵防御实时阻止,守护您的业务安全

随着互联网技术的快速发展&#xff0c;企业级网络安全问题日益凸显。在这个数字化时代&#xff0c;企业的业务安全不仅关系到企业的形象和声誉&#xff0c;还直接影响到企业的生存和发展。因此&#xff0c;加强企业级网络安全&#xff0c;预防和抵御各种网络攻击已成为企业的重…

【EM算法】算法及注解

EM算法又称期望极大算法&#xff0c;是一种迭代算法&#xff0c;每次迭代由两步组成&#xff1a;E步&#xff0c;求期望&#xff08;expectation&#xff09;&#xff1b;M步&#xff0c;求极大&#xff08;maximization&#xff09;。 算法背景 如果概率模型的变量都是观测变…

Mybatis中@SelectKey注解

注解简介 SelectKey 注解主要用于在插入数据后获取数据库生成的主键。这在很多数据库中是常见的做法&#xff0c;比如使用自增字段或序列生成主键。 SelectKey 注解通常与插入数据的 SQL 语句一起使用&#xff0c;它告诉 MyBatis 在执行插入操作后执行另一个 SQL 语句来获取主…

打造大型ERP系统:Spring Cloud的优雅实践

在当今的信息化时代&#xff0c;企业资源规划&#xff08;ERP&#xff09;系统已经成为企业信息化管理的核心。随着企业规模的不断扩大&#xff0c;对ERP系统的可扩展性和可维护性要求也越来越高。近年来&#xff0c;微服务架构逐渐兴起&#xff0c;它以其高内聚、低耦合的特性…

利用计算机视觉算法提取裂纹相关特征参数信息

ABCnutter/CrackFeature: &#x1f680;使用计算机视觉相关算法提取裂缝的骨架&#xff08;矢量化&#xff09;、轮廓【支持提前修复断裂裂缝】&#xff0c;以及几何特征参数&#xff08;长度、宽度、面积和主要方向&#xff09;【欢迎Star】。主要流程以及相关算法如下&#x…

zato,一个神奇的 Python 库!

大家好&#xff0c;今天为大家分享一个神奇的 Python 库 - zato。 Zato是一个高性能的Python企业服务总线(ESB)和应用集成框架&#xff0c;专为简化复杂系统间的通信和数据交换而设计。它提供了一个灵活、可扩展的平台&#xff0c;以支持各种集成需求&#xff0c;从简单的数据传…

Android Studio 之 Intent及其参数传递

一、Intent 显式Intent&#xff1a;通过组件名指定启动的目标组件,比如startActivity(new Intent(A.this,B.class)); 每次启动的组件只有一个~隐式Intent:不指定组件名,而指定Intent的Action,Data,或Category,当我们启动组件时, 会去匹配AndroidManifest.xml相关组件的Intent-…

autoware.universe perception中ground_segmetation的基础知识学习笔记

[[maybe_unused]] 是 C11 及之后版本中的一个属性&#xff0c;用于抑制编译器关于未使用实体&#xff08;变量、函数等&#xff09;的警告。它告诉编译器&#xff0c;如果实体未被使用&#xff0c;那也是可以接受的&#xff0c;因此不会为此生成警告。[[maybe_unused]] 只能用于…

代码随想录——动态规划

系列文章目录 代码随想录——回溯 代码随想录——贪心算法 代码随想录——动态规划 文章目录 系列文章目录概述简单斐波那契数***爬楼梯***使用最小花费爬楼梯不同路径不同路径 II***整数拆分***不同的二叉搜索树***普通0-1背包***分割等和子集***最后一块石头的重量 II***目标…

内网渗透-内网环境下的横向移动总结

内网环境下的横向移动总结 文章目录 内网环境下的横向移动总结前言横向移动威胁 威胁密码安全 威胁主机安全 威胁信息安全横向移动威胁的特点 利用psexec 利用psexec.exe工具msf中的psexec 利用windows服务 sc命令 1.与靶机建立ipc连接2.拷贝exe到主机系统上3.在靶机上创建一个…