题目:
http://blog.csdn.net/qq_35786326/article/details/78880084
题意:
求费用的最优解
分析:
只要细心地读几次题目,也不难发现这是一个基础的完全背包,这道题也相对较简单,剩下的就只要套
套路
了
代码:
#include<cstdio>
#include<iostream>
#define LL long long
using namespace std;
int f[2500],v[11];
int main()
{
for(int i=1;i<=10;i++) scanf("%d",&v[i]);
int n;
scanf("%d",&n);
int k=1;
memset(f,127,sizeof(f));//初值不能忘
f[0]=0;
for(int i=1;i<=10;i++)//10种情况
for(int j=i;j<=n;j++)
if(f[j]>f[j-i]+v[i]) f[j]=f[j-i]+v[i];
printf("%d",f[n]);
return 0;
}