乘车费用
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte描述
输入
输出
样例输入
样例输出
题目来源
JSOI2010
题目链接:http://acm.njupt.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1401
题目分析:完全背包问题,每个车次都可以使用无数次
#include <cstdio>
#include <algorithm>
using namespace std;
int const INF = 0xfffffff;
int v[11], w[11], d, dp[105];
int main()
{
for(int i = 1; i < 11; i++)
{
w[i] = i;
scanf("%d", &v[i]);
}
for(int i = 1; i < 105; i++)
dp[i] = INF;
scanf("%d", &d);
for(int i = 1; i < 11; i++)
for(int j = w[i]; j <= d; j++)
dp[j] = min(dp[j], dp[j - w[i]] + v[i]);
printf("%d\n", dp[d]);
}