藍橋杯1447 砝碼稱重

問題描述

你有一架天平和?N?個砝碼,這?N?個砝碼重量依次是?W1,W2,???,WN?。

請你計算一共可以稱出多少種不同的重量? 注意砝碼可以放在天平兩邊。

輸入格式

輸入的第一行包含一個整數?N。

第二行包含?N?個整數:W1,W2,W3,???,WN?。

輸出格式

輸出一個整數代表答案。

樣例輸入

3
1 4 6

樣例輸出

10

樣例說明

能稱出的?10?種重量是:1、2、3、4、5、6、7、9、10、11。

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。

評測用例規模與約定

對于?50的評測用例,1≤N≤15。

對于所有評測用例,1≤N≤100,N1≤N≤100,N?個砝碼總重不超過?100000。

?

?

#include<iostream>
#include<cmath>
using namespace std;const int N = 110;
const int M = 2e5+10;  //j的范圍是 [-m, m],M為最大可能重量的兩倍
int n;
int m;  //總重量
int w[N];
bool f[N][M];  //f[i][j]:前i個砝碼能否稱出重量j
int ans;int main()
{cin>>n;for(int i=1; i<=n; ++i){cin>>w[i];m += w[i];}f[0][0]=1;  //初始化:0個砝碼稱出0//枚舉前i個砝碼for(int i=1; i<=n; ++i){//枚舉所有可能的重量for(int j=0; j<=m; ++j){//不選當前砝碼 || 選砝碼放到左盤 || 選砝碼放到右盤f[i][j]=f[i-1][j] || f[i-1][abs(j-w[i])] || f[i-1][j+w[i]];}}for(int i=1; i<=m; ++i){if(f[n][i]) ans++;}cout<<ans;return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/83925.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/83925.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/83925.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

金融量化智能體,如何開發一個有效的策略?

原創內容第887篇&#xff0c;專注智能量化投資、個人成長與財富自由。 本周重構了網站&#xff0c;升級了最新的回測引擎&#xff0c;以及升級了論壇。 策略年化210%&#xff0c;夏普比3.47&#xff0c;系統源代碼及策略均可下載 年化37.5%&#xff0c;回撤控制在16.8%&…

JavaScript 性能優化:調優策略與工具使用

引言 在當今的 Web 開發領域&#xff0c;性能優化已不再是錦上添花&#xff0c;而是產品成功的關鍵因素。據 Google 研究表明&#xff0c;頁面加載時間每增加 3 秒&#xff0c;跳出率將提高 32%。而移動端用戶如果頁面加載超過 3 秒&#xff0c;有 53% 的用戶會放棄訪問。性能…

為 Jenkins添加 Windows Slave遠程執行 python項目腳本

測試環境 JAVA JDK 1.7.0_13 (jdk-7u13-windows-i586.exe) Jenkins Win11 64 python項目環境 實踐操作 1、新建與配置結點 【系統管理】-> 【管理結點】-> 【新建結點】, 如上&#xff0c;輸入結點名稱&#xff0c;勾選 【Dumb Slave】&#xff0c;點擊【OK】 說明&am…

基于springboot3 VUE3 火車訂票系統前后端分離項目適合新手學習的項目包含 智能客服 換乘算法

? 博主介紹&#xff1a;專注于Java&#xff08;springboot ssm 等開發框架&#xff09; vue .net php phython node.js uniapp 微信小程序 等諸多技術領域和畢業項目實戰、企業信息化系統建設&#xff0c;從業十五余年開發設計教學工作 ☆☆☆ 精彩專欄推薦訂閱☆☆☆☆☆…

btc交易所關鍵需求區 XBIT反彈與上漲潛力分析??

在加密貨幣市場的浪潮中&#xff0c;狗狗幣&#xff08;DOGE&#xff09;近期的走勢吸引了眾多投資者的目光。根據XBIT分析&#xff0c;狗狗幣剛剛踏入關鍵需求區&#xff0c;此前雖從高點大幅下跌了10%&#xff0c;但XBIT去中心化交易所平臺分析師認為&#xff0c;短期內它有望…

寶塔+fastadmin:給項目添加定時任務

一、定時任務腳本編寫 1. 使用 shebang 聲明執行器 #!/usr/bin/env php 這是 Unix/Linux 系統中腳本文件的標準開頭。表示這個腳本使用系統環境變量中的 php 來執行。2. 定義 ThinkPHP 入口路徑并加載框架 define(APP_PATH, __DIR__ . /../../application/); require __DIR__…

每日Prompt:自拍生成搖頭娃娃

提示詞 將這張照片變成一個搖頭娃娃&#xff1a;頭部稍微放大&#xff0c;保持面部準確&#xff0c;身體卡通化。[把它放在書架上]。

【Tools】neovim操作指南

Neovim 中最常見、最實用的操作, 主要針對C 開發需求&#xff1a; &#x1f680; 基礎操作 操作快捷鍵說明保存:w 或 ZZ保存當前文件退出:q 或 ZQ退出當前窗口保存并退出:wq 或 ZZ保存并退出強制退出:q!不保存直接退出撤銷u撤銷上一步重做<C-r>重做撤銷搜索/xxx向下搜索…

Visual Studio 制作msi文件環境搭建

一、插件安裝 a. 插件尋找 在 Visual Studio 2017 中&#xff0c;如果你希望安裝用于創建 MSI 安裝包的插件&#xff0c;第一步是&#xff1a;打開 Visual Studio 后&#xff0c;點擊頂部菜單欄中的 “工具”&#xff08;Tools&#xff09;&#xff0c;然后選擇下拉菜單中的 “…

深入解析 OpenManus:開源 AI 智能體框架的技術原理與實踐

深入解析 OpenManus&#xff1a;開源 AI 智能體框架的技術原理與本地部署指南 在當今人工智能快速發展的時代&#xff0c;智能體&#xff08;Agent&#xff09;技術正逐漸成為推動自動化和智能化的關鍵力量。OpenManus&#xff0c;由 MetaGPT 團隊開發的開源 AI 智能體框架&am…

利用 SQL Server 作業實現異步任務處理,簡化系統架構

在現代企業系統中&#xff0c;異步任務是不可或缺的組成部分&#xff0c;例如&#xff1a; 電商系統中的訂單超時取消&#xff1b; 報表系統中的異步數據導出&#xff1b; CRM 系統中的客戶積分計算。 傳統的實現方式通常涉及引入消息隊列&#xff08;如 RabbitMQ、Kafka&a…

ubuntu sh安裝包的安裝方式

ubuntu sh安裝包的安裝方式以Miniconda2為例 https://repo.anaconda.com/miniconda/ 如果需要python2.7版本可下載以下版本 Miniconda2-latest-Linux-x86_64.sh 打開終端輸入安裝命令 sudo sh Miniconda2-latest-Linux-x86_64.sh 然后按提示安裝&#xff0c;注意安裝位置 …

gRPC開發指南:Visual Studio 2022 + Vcpkg + Windows全流程配置

前言 gRPC作為Google開源的高性能RPC框架&#xff0c;在微服務架構中扮演著重要角色。本文將詳細介紹在Windows平臺下&#xff0c;使用Visual Studio 2022和Vcpkg進行gRPC開發的完整流程&#xff0c;包括環境配置、項目搭建、常見問題解決等實用內容。 環境準備 1. 安裝必要組…

C#控制流

&#x1f9e9; 一、控制流概述 C# 中的控制流語句用于根據條件或循環執行代碼塊。它們是程序邏輯的核心部分。 ? 二、1. if、else if、else int score 85;if (score > 90) {Console.WriteLine("優秀"); } else if (score > 60) {Console.WriteLine("及…

你知道mysql的索引下推么?

在此之前&#xff0c;需要先明白mysql內部的一個大致結構&#xff0c;mysql內部大概是劃分為3處&#xff0c;client客戶端連接&#xff0c;server層&#xff0c;存儲引擎層 索引下推是mysql5.6之后內部的一種索引優化手段。 比如現在我有一張表student表&#xff0c;字段有id&…

mysql的基礎命令

1.SQL的基本概念 SQL 是用于管理和操作關系型數據庫的標準編程語言。是所有關系型數據庫&#xff08;如 MySQL、PostgreSQL、Oracle 等&#xff09;的通用語言。 SQL語句分類 DDL: Data Defination Language 數據定義語言 CREATE&#xff0c;DROP&#xff0c;ALTER DML: Da…

Python爬蟲實戰:研究加密參數的定位方法,實現逆向解密

一、引言 在數字化信息時代,網絡數據成為重要的戰略資源。Python 以其簡潔的語法和豐富的庫生態,成為網絡爬蟲開發的首選語言。然而,隨著互聯網安全防護意識的增強,網站普遍采用加密技術保護數據接口,如請求參數加密、會話驗證、動態令牌等,這使得傳統爬蟲技術面臨巨大挑…

軸承表面缺陷檢測數據集VOC+YOLO格式3945張3類別

數據集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路徑的txt文件&#xff0c;僅僅包含jpg圖片以及對應的VOC格式xml文件和yolo格式txt文件) 圖片數量(jpg文件個數)&#xff1a;3945 標注數量(xml文件個數)&#xff1a;3945 標注數量(txt文件個數)&#xff1a;3945 標注…

【51單片機中斷】

目錄 配置流程 1.在IE寄存器中開啟總中斷通道和需要的某中斷通道 2.在TCON寄存器開啟所用中斷的觸發方式 3.使用中斷函數完成中斷 4.若需要中斷嵌套則在IP寄存器中配置 5.若需要使用串口的中斷&#xff0c;則配置SCON寄存器 6.代碼示例 配置流程 1.在IE寄存器中開啟總…

【機器學習】Anaconda安裝后打不開jupyter notebook(網頁不自動跳出)

文章目錄 一、遇到的問題&#xff1a;jupyter notebook網頁不自動跳出&#xff08;一&#xff09;輸入jupyter notebook命令&#xff08;二&#xff09;手動打開網頁 二、解決辦法&#xff1a;指定瀏覽器&#xff08;一&#xff09;找文件 jupyter_notebook_config.py&#xff…