题解 | #采药#

采药

https://www.nowcoder.com/practice/d7c03b114f0541dd8e32ce9987326c16

//标准的0/1背包,模板题
#include<iostream>
#include <cstdio>
#include <string>
#include <algorithm>
#include<vector>
using namespace std;

const int MAXN = 120;
int t_cost[MAXN];
int value[MAXN];
int dp_result[120][1200];

int dp(int m, int t)
{
	if (m == -1||t==0)
	{
		return 0;
	}
	else if (dp_result[m][t] != 0)
	{
		return dp_result[m][t];
	}
	else
	{
		if (t >= t_cost[m])
		{

			dp_result[m][t] = max(dp(m - 1, t), dp(m - 1, t - t_cost[m])+value[m]);
			return dp_result[m][t];
		}
		else
		{
			dp_result[m][t] = dp(m - 1, t);
			return dp_result[m][t];
		}
	}
}
int main() 
{
	fill(dp_result[0], dp_result[0] + 120 * 1200, 0);
	int T, M;
	scanf("%d %d", &T, &M);
	for (int i = 0; i < M; i++)
	{
		scanf("%d %d", &t_cost[i], &value[i]);

	}
	cout << dp(M - 1, T);


}

全部评论

相关推荐

06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
无实习如何秋招上岸
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 13:15
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务