用户


私信TA

用户名:18375791271

访问量:5033

签 名:

等  级
排  名 4078
经  验 1699
参赛次数 0
文章发表 13
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:
    多重背包问题,把美味度看做重量,把价值换做数量。
注意事项:
    老板点个赞!
参考代码:

#include <bits/stdc++.h>
using namespace std;
int dp[20005];
const int INF = 0x3fffff;
int main(){
	int m,n;
	cin>>m>>n;
	fill(dp,dp+m+1,INF);
	dp[0]=0;
	for(int i=0;i<n;i++){
		int v,num;
		cin>>v>>num;
		for(int j=0;j<num;j++){
			for(int k=m;k>=v;k--){
				if(dp[k-v]!=INF)
					dp[k]=min(dp[k],dp[k-v]+1);	
			}
		}
	}
	if(dp[m]!=INF)
		cout<<dp[m];
	else
		cout<<">"<<"<";
}


 

0.0分

3 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区