蓝桥杯 砝码称重 dp/dfs

03-03 阅读 0评论

题目链接:

蓝桥杯 砝码称重 dp/dfs,蓝桥杯 砝码称重 dp/dfs,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,.cn,第1张
(图片来源网络,侵删)

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

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

代码:

#include
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>w[i];
    }
    dfs(0,0);
    cout

免责声明
本网站所收集的部分公开资料来源于AI生成和互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,人围观)

还没有评论,来说两句吧...

目录[+]