用户


私信TA

用户名:18375791271

访问量:5495

签 名:

等  级
排  名 4185
经  验 1746
参赛次数 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 人评分

  评论区

  • «
  • »