poj1742 coin 多重背包
2014-01-26 13:09
211 查看
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
#define maxn 105
#define maxm 100005
bool f[maxm];
int used[maxm], num[maxn], value[maxn];
int n, m;
void input()
{
for (int i =0; i < n; i++)
scanf("%d", &value[i]);
for (int i =0; i < n; i++)
scanf("%d", &num[i]);
}
void work()
{
memset(f, 0, sizeof(f));
f[0] =true;
int sum =0;
for (int i =0; i < n; i++)
{
memset(used, 0, sizeof(used)); //标记每一个价值使用的次数;
for (int j = value[i]; j <= m; j++)
{
if (!f[j] && f[j - value[i]] && used[j - value[i]] < num[i])//价值尽可能地大;
{
f[j] =true;
used[j] = used[j - value[i]] +1; //使用次数;
sum++;
}
}
}
printf("%d\n", sum);
}
int main()
{
//freopen("t.txt", "r", stdin);
while (scanf("%d%d", &n, &m), n | m)
{
input();
work();
}
return 0;
}
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
#define maxn 105
#define maxm 100005
bool f[maxm];
int used[maxm], num[maxn], value[maxn];
int n, m;
void input()
{
for (int i =0; i < n; i++)
scanf("%d", &value[i]);
for (int i =0; i < n; i++)
scanf("%d", &num[i]);
}
void work()
{
memset(f, 0, sizeof(f));
f[0] =true;
int sum =0;
for (int i =0; i < n; i++)
{
memset(used, 0, sizeof(used)); //标记每一个价值使用的次数;
for (int j = value[i]; j <= m; j++)
{
if (!f[j] && f[j - value[i]] && used[j - value[i]] < num[i])//价值尽可能地大;
{
f[j] =true;
used[j] = used[j - value[i]] +1; //使用次数;
sum++;
}
}
}
printf("%d\n", sum);
}
int main()
{
//freopen("t.txt", "r", stdin);
while (scanf("%d%d", &n, &m), n | m)
{
input();
work();
}
return 0;
}
相关文章推荐
- 单调队列优化多重背包(含构造问题<POJ 1742 coin>)
- hdu2844 & poj1742 Coin ---多重背包--两种方法
- hdu2844 & poj1742 Coin ---多重背包--两种方法
- POJ 1742 Coins 多重背包入门题
- POJ 1742 Coins 【多重背包的应用 + 理解】
- 经典动态规划问题 背包问题 [POJ3211][POJ2063][HDU1114][POJ1276][POJ1014][POJ1742][ZOJ3631]
- POJ 1742 Coins (多重背包的可行解 o(nm))
- POJ 1742 Coins 多重背包
- poj-1742 COINS(多重背包问题)
- poj 1742 多重背包可行性
- poj 1742 Coins【多重背包可行性问题】
- POJ 1742 Coins 【多重背包DP】
- POJ1742 Coins(多重背包可行性)
- poj 1742 Coins (背包)
- POJ 1742 Coins(多重背包,优化)
- POJ 1742 多重背包问题
- poj 1742 多重背包
- poj1742 单调队列优化多重背包
- poj1742 Coins 动态规划 多重背包 待补完
- [poj 1742]Coins多重背包优化解法两则