蓝桥杯 砝码称重 dp/dfs

news/2024/7/20 22:00:59 标签: 深度优先, 蓝桥杯, 算法

题目链接:

https://www.lanqiao.cn/problems/1447/learning/?subject_code=1&group_code=4&match_num=12&match_flow=1&origin=cup

思想:dfs暴力枚举过一半的分

代码:

#include<bits/stdc++.h>
using namespace std;

#define int long long

const int N = 5e6+5;

int n,w[N];
bool st[N];
int res;

//表示k个砝码,重量是sum
void dfs(int k,int sum){
	if(k>n){
		if(sum>0&&!st[sum]){
			res++;
			st[sum]=true;
			
		}
		return;
	}
	dfs(k+1,sum-w[k]);  //放右边
	dfs(k+1,sum);  //不选
	dfs(k+1,sum+w[k]);   //放左边
}

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
    
    cin>>n;
    for(int i=1;i<=n;i++){
    	cin>>w[i];
    }
    dfs(0,0);
    cout<<res<<"\n";
    
	
	return 0;	

}



http://www.niftyadmin.cn/n/5404816.html

相关文章

GEE案例——如何利用CHIRPS数据进行某一个区域的逐年逐月长时序降水量统计、绘制和下载(4种模式代码)

简介 使用UCSB-CHG/CHIRPS/DAILY数据进行逐月或者逐年,或者多个样本点矢量集合的统计和长时序图表绘制和CSV文件导出。 数据 UCSB-CHG/CHIRPS/DAILY是一个用于获取全球降水数据的数据集。该数据集是由加州大学圣塔巴巴拉分校(UCSB)的Climate Hazards Group(CHG)开发的,…

【代码】Android|判断asserts下的文件存在与否,以及普通文件存在与否

作者版本&#xff1a;Android 11及以上 主要是发现网上没有完整的、能跑的代码&#xff0c;不知道怎么回事&#xff0c;GPT给我重写的。我只能保证这个代码尊嘟能跑&#xff0c;不像其他的缺胳膊少腿的。 asserts 贴一下结果&#xff1a; boolean isAssertFileExists(String …

PyCharm如何添加python库

1.使用pip命令在国内源下载需要的库 下面使用清华源&#xff0c;在cmd中输入如下命令就可以了 pip install i https://pypi.tuna.tsinghua.edu.cn/simple 包名版本号2.如果出现报错信息&#xff0c;Cannot unpack file…这种情况&#xff0c;比如下面这种 ERROR: Cannot unpa…

无处不在的智慧:探索嵌入式系统的奇妙

无处不在的智慧&#xff1a;探索嵌入式系统的奇妙 嵌入式系统作为当今科技领域中无处不在的一种技术&#xff0c;其奇妙之处正在逐步被揭示和探索。从智能家居到智能穿戴设备&#xff0c;从工业自动化到医疗健康&#xff0c;嵌入式系统已经深入到我们生活和工作的方方面面&…

Linux笔记--文件权限

一、相关概念 Linux最优秀的地方之一就在于多人多任务环境。为了让各个使用者有较为保密的文件数据&#xff0c;文件的权限管理尤为重要。 ●文件的可存取身份: owner:文件拥有者 group:文件所属用户组 others:其他人 ●文件权限: r: read&#xff0c;读 文件:是否能查看文件内…

探索设计模式的魅力:备忘录模式揭秘-实现时光回溯、一键还原、后悔药、历史的守护者和穿越时空隧道

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;并且坚持默默的做事。 备忘录模式揭秘-实现时光回溯、一键还原、后悔药和穿越时空隧道 文章目录 一、案例场景&…

查询出多个班级内最大、最小、第二大的同学的信息,一条sql完成

创建表 CREATE TABLE biao ( id int NOT NULL AUTO_INCREMENT COMMENT 主键, banji varchar(10) DEFAULT NULL COMMENT 班级, score int DEFAULT NULL COMMENT 成绩, name varchar(10) DEFAULT NULL COMMENT 学生姓名, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREM…

LeetCode 刷题 [C++] 第347题.前 K 个高频元素

题目描述 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 题目分析 据题意可知&#xff0c;我们需要先遍历整个数组&#xff0c;并统计每个数字出现的次数&#xff0c;保存在哈希表中&#xff1b;对元素…