OJ_点菜问题(背包问题)

题干

C++实现

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<vector>
using namespace std;

int main() {
	int c, n;
	scanf("%d%d", &c, &n);
	int p[101];
	int v[101];

	for (int i = 0; i < n; i++)
	{
		scanf("%d%d", &p[i], &v[i]);
	}
	//dp[x][y]:在总金额不超过x的情况下,考察0~y-1号商品的最大评分
	int dp[1001][102];
	for (int y = 0; y <= n; y++)
	{
		dp[0][y] = 0;
	}
	for (int x = 0; x <= c; x++)
	{
		dp[x][0] = 0;
	}

	for (int x = 1; x <= c; x++)
	{
		for (int y = 1; y <= n; y++) {
			if (x - p[y - 1] < 0) {
				dp[x][y] = dp[x][y - 1];
			}
			else {
				dp[x][y] = max(dp[x][y - 1], dp[x - p[y - 1]][y - 1] + v[y - 1]);
			}
		}
	}

	printf("%d\n", dp[c][n]);
	return 0;
}
相关推荐
苏宸啊1 分钟前
C++模版template(泛型编程)初阶
c++
三块可乐两块冰2 分钟前
【第二十六周】机器学习笔记二十七
算法·机器学习·支持向量机
郝学胜-神的一滴2 分钟前
Qt自定义TabWidget:实现左侧标签与水平文本布局
开发语言·c++·qt·程序人生
源代码•宸3 分钟前
大厂技术岗面试之一面(准备自我介绍、反问)
经验分享·后端·算法·面试·职场和发展·golang·反问
s09071364 分钟前
FPGA视频编码器:H.264/H.265实现核心技术解析
图像处理·算法·fpga开发·音视频·h.264
晚风吹长发6 分钟前
初步理解Linux中的进程间通信以及管道通信
linux·运维·服务器·c++·进程·通信
开开心心_Every8 分钟前
无广告输入法推荐:内置丰富词库免费皮肤
服务器·前端·学习·决策树·edge·powerpoint·动态规划
燃于AC之乐9 分钟前
C/C++内存管理核心解析:分布、管理方式与定位new应用
开发语言·c++·内存管理
xiaoye-duck1 小时前
C++ 内存管理:自定义类型 new/delete 调用构造 / 析构深度解析
c++
闪电麦坤951 小时前
Leecode热题100:缺失的第一个正数(数组)
数据结构·算法·leetcode