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;
}
相关推荐
驭渊的小故事35 分钟前
NC229023 题解:二分答案求解“最大化最小值“问题
java·算法
朝朝辞暮i1 小时前
C++ 第 36 课:Action——机械臂/VLA 非常重要
开发语言·c++·算法·ros2
无名猿1 小时前
锁进阶:atomic_flag 自旋锁、shared_mutex 读写锁与无锁的代价
c++·性能优化·并发编程·现代c++
ra90fy1 小时前
B3873 [GESP202309 六级] 小杨买饮料
c++·算法
尘客-追梦1 小时前
qmake / jom / 影子构建:把编译管起来
开发语言·c++·qt
Omics Pro1 小时前
北理工李荣华:AI虚拟细胞证据多模态推理基准
数据库·人工智能·算法·机器学习·自然语言处理
xieliyu.1 小时前
LeetCode 1419 数青蛙:状态模拟求最少青蛙数量|Java 题解
java·算法·leetcode
acd120091 小时前
线上偶发 499 错误,并非后端服务异常
算法
Nil2081 小时前
leetcode 45跳跃游戏Ⅱ
算法·leetcode·游戏
Zootopia6261 小时前
论文复现|五机编队任务链
c语言·c++·考研·无人机·创业创新·学习方法·高考