问题标题: 8.10动态规划考试第3题买鱼哪错了

0
0
已解决
王子凡
王子凡
高级光能
高级光能

8.10动态规划考试第3题买鱼哪错了

求dalao

买鱼

题目描述 Description

酷町喵没鱼了!!!,他打算采购(1 <=H< =50000)条鱼.

他知道N(l<=N<=100)个卖鱼的商店,现在用1到N给它们编号.第i个商店卖P_i (1 <= P_i <= 5,000)条鱼所需要的花费为C_i (1 <= C_i <= 5,000) 元.每个商店的货源都十分充足, 可以卖出无限多条鱼.

帮助酷町喵找到最小的开销来满足至少采购H条鱼。

输入描述 Input Description

第一行两个整数 N 和 H 用整数隔开;

第二行到N+1行:每行包括两个用空格分开整数: P_i 和C_i。

输出描述 Output Description

一行:一个整数表示酷町喵需要支付最少的费用用来获得最少H条鱼干。

样例输入 Sample Input

2 15
3 2
5 3

样例输出 Sample Output

9

数据来源 Source

算法初级班背包测试

#include<iostream>
using namespace std;
int n,h,p[110],c[110],f[50010];
int main()
{
	cin>>n>>h;
	for (int i=1;i<=n;i++)
		cin>>p[i]>>c[i];
	fill(f,f+50010,1000000);
	f[0]=0;
	for (int i=1;i<=n;i++)
	{
		for (int j=p[i];j<=h;j++)
		{
			for (int k=0;k<=h/p[i]+1;k++)
				f[j]=min(f[j],f[j-k*p[i]]+k*c[i]);
		}
	}
	cout<<f[h];
	return 0;
}

 

王子凡在2018-08-11 09:32:30追加了内容

WA   五十分

问题:http://judge.codingtang.com/examproblem/505/2761

我的提交记录:http://judge.codingtang.com/user/records/281/2761/505/


0
已采纳
陆麟瑞
陆麟瑞
资深天翼
资深天翼

把第15行的循环去掉,16行改为f[j]=min(f[j],f[j-p[i]]+c[i]);试试

我提交不了题目啊QWQ

0
0
0
王子凡
王子凡
高级光能
高级光能

求dalao进来

王子凡在2018-08-11 09:35:23追加了内容

WA+RE

如有正确答案,必第一时间采纳

0
我要回答