题海拾贝:P2347 [NOIP 1996 提高组] 砝码称重

Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路!

我的博客: <但凡.

我的专栏: 《编程之路》、《数据结构与算法之美》、《题海拾贝》、《C++修炼之路》

欢迎点赞,关注!

1、题目

2、题解

cpp 复制代码
#include<iostream>
using namespace std;
const int N = 1010;
int f[N];
int u[10] = { 0,1,2,3,5,10,20 };
int k[10];
int n, m;
int ret = 0;
int main()
{
	for (int i = 1;i <= 6;i++)
	{
		cin >> k[i];
		ret += k[i] * u[i];
	}
	int sum = 0;
	f[0] = 1;//对0初始化
	for (int i = 1;i <= 6;i++)
	{
		for (int j = ret;j >= 0;j--)//因为j是价值所以说j必须是从0开始
		{
			for (int p = 0;p <= k[i] && p * u[i] <= j;p++)
			{
				f[j] = f[j]||f[j - p * u[i]];//哪个不为0就选哪个行了
			}
		}
	}
	//f表示的是从前i个挑选,能否凑成j。所以说最后得统计方案数
	//另外我们砝码必须都选,也就是必须选6个,所以这个题可以空间优化写
	for (int i = 1;i <= 1000;i++)
	{
		if (f[i]) sum++;
	}
	cout <<"Total=" <<sum << endl;
	return 0;
}
相关推荐
hold?fish:palm7 分钟前
40 二叉树的直径
c++·leetcode
Shimeri35 分钟前
越卷越像:我用遗传算法做了个"内卷"实验
算法·three.js·数据可视化·遗传算法·进化算法
解决小子39 分钟前
【虚幻引擎】【C++】【GAS框架】构建角色基类、属性集、数值钳制
c++·笔记·游戏引擎·虚幻·gas·能力系统
Evand J1 小时前
【PMSM例程1】永磁同步电机(PMSM)转速与转子电角度观测算法|基于扩展卡尔曼滤波(EKF)的传感器状态估计与误差。附下载链接
算法·电机·1024程序员节·卡尔曼滤波
guo_wen_qiang1 小时前
二叉树的层序遍历-使用双端队列Deque
算法·leetcode·1024程序员节
爱读书的小胖1 小时前
LeetCode 55 跳跃游戏 C 语言解题分析
c语言·数据结构·算法·leetcode·1024程序员节
CCblandy1 小时前
前缀缓存命中率不靠引擎靠排列:本机仿真 3 轮,易变字段放开头 98.0%→0.0%
人工智能·python·算法·自然语言处理·性能优化
上班摸鱼下班游戏1 小时前
Unity 仿生智能算法 从蚁群算法 开始
算法·unity·游戏引擎
pipixia200332 小时前
C++ 面试高频:namespace 的 6 个知识点,从 using 到匿名命名空间
c语言·学习·算法·嵌入式·命名空间·c++面试·匿名命名空间
舰长1152 小时前
将百万数据插入到 Redis,有哪些实现方案?
数据结构·redis·开源