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;
}
相关推荐
Excuse_lighttime3 分钟前
只出现一次的数字(位运算算法)
java·数据结构·算法·leetcode·eclipse
liu****4 分钟前
笔试强训(二)
开发语言·数据结构·c++·算法·哈希算法
挺6的还33 分钟前
高并发内存池
c++
无限进步_40 分钟前
扫雷游戏的设计与实现:扫雷游戏3.0
c语言·开发语言·c++·后端·算法·游戏·游戏程序
jianqiang.xue43 分钟前
单片机图形化编程:课程目录介绍 总纲
c++·人工智能·python·单片机·物联网·青少年编程·arduino
qq_433554541 小时前
C++ 完全背包
开发语言·c++·算法
lingran__1 小时前
算法沉淀第二天(Catching the Krug)
c++·算法
Yupureki1 小时前
从零开始的C++学习生活 8:list的入门使用
c语言·c++·学习·visual studio
SunkingYang1 小时前
详细介绍C++中通过OLE操作excel时,一般会出现哪些异常,这些异常的原因是什么,如何来解决这些异常
c++·excel·解决方案·闪退·ole·异常类型·异常原因
jc06201 小时前
4.4-中间件之gRPC
c++·中间件·rpc