背包~~~~~~~3478:【例86.3】 完全背包问题

【题目描述】

设有n�种物品,每种物品有一个重量及一个价值。但每种物品的数量是无限的,同时有一个背包,最大载重量为M�,今从n�种物品中选取若干件(同一种物品可以多次选取),使其重量的和小于等于M�,而价值的和为最大。

【输入】

第一行:两个整数,M�(背包容量,M≤200�≤200)和N�(物品数量,N≤30�≤30);第22..N+1�+1行:每行二个整数Wi��,Ci��,表示每个物品的重量和价值。

【输出】

仅一行,一个数,表示最大总价值。

【输入样例】

复制代码
10 4
2 1
3 3
4 5
7 9

【输出样例】

复制代码
max=12
cpp 复制代码
#include<bits/stdc++.h>//gezhengxu2024~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
using namespace std;
int W,n;
int w[35],v[35];
int dp[205];
int main()
{
	cin>>W>>n;
	int i,j,k;
	for(i=1;i<=n;i++)
	{
		cin>>w[i]>>v[i];
	}
	for(i=1;i<=n;i++)
	{
		for(j=W;j>=w[i];j--)
		{
			for(k=1;k<=j/w[i];k++)
			{
				dp[j]=max(dp[j],dp[j-k*w[i]]+k*v[i]);
			}
		}
	}
	cout<<"max="<<dp[W];
	return 0;
}
相关推荐
m0_716765237 分钟前
数据结构--循环链表、双向链表的插入、删除、查找详解
开发语言·数据结构·c++·学习·链表·青少年编程·visual studio
不想写代码的星星35 分钟前
类型萃取:重生之我在幼儿园修炼类型学
开发语言·c++
郝学胜-神的一滴41 分钟前
中级OpenGL教程 001:从Main函数到相机操控的完整实现
c++·程序人生·unity·图形渲染·unreal engine·opengl
charlie1145141911 小时前
嵌入式现代C++教程实战篇第12篇:C宏时代的LED驱动 —— 能跑但不优雅
c语言·c++·stm32·单片机·嵌入式硬件·c
wunaiqiezixin1 小时前
链表多项式大整数-BigInt
数据结构·c++·链表
kyle~1 小时前
BFS(广度优先搜索)与 DFS (深度优先搜索)
c++·算法·深度优先·宽度优先
汉克老师1 小时前
GESP2024年3月认证C++三级( 第二部分判断题(1-10))
c++·位运算·string·gesp三级·gesp3级
kyle~2 小时前
FANUC机械臂---PR位置寄存器(Position Register)
c++·机器人·fanuc
John.Lewis2 小时前
C++加餐课-继承和多态:扩展学习
开发语言·c++·笔记
泽02022 小时前
LLMChat ----- 通过C++语言调用大语言模型所实现的聊天系统
开发语言·c++·语言模型