ZSTU校赛Problem D: 买iphone(背包)
2017-03-19 17:22
330 查看
Problem D: 买iphone
Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 825 Solved: 121
Description
自从上次仓鼠中了1000万彩票后,彻底变成了土豪了,一群人愿意认他做干爹,仓鼠决定送他的干儿子每人一部iphone。仓鼠今天带了一群人去买iphone,每个人身上都背着一个大背包,只有3种背包,分别能装a,b,c个iphone,仓鼠希望每个人都能用iphone装满自己的背包。仓鼠有n个干儿子,也就是要买n部手机,仓鼠带了k个人去买手机,问是否存在一种情况能让每个买iphone的人的背包都装满
Input
输入包含多组测试数据,每组一行,包含5个整数n, k, a, b, c(1 <= n, k , a, b, c <= 10000)
abc可以相同
Output
如果存在输出Yes,否则输出No
Sample Input
10 3 3 3 4 20 7 1 1 1 80 3 100 3 3 15 4 3 5 6
Sample Output
Yes No No Yes
HINT
样例一3个人分别带大小为 3 3 4的背包去买手机正好每个人都装满样例二 很明显只有一种背包,全部都是1也无法买20部iphone
样例四 4个人分别带大小为 3 3 3 6的背包去买手机正好每个人都装满
思路:bitset水过。
# include <iostream>
# include <cstdio>
# include <cstring>
# include <algorithm>
# include <vector>
# include <bitset>
# include <cmath>
# include <cstdlib>
# define INF 0x3f3f3f3f
# define LL long long
using namespace std;
bitset<10005>dp, pd;
int main()
{
int n, k, a, b, c;
while(~scanf("%d%d%d%d%d",&n,&k,&a,&b,&c))
{
dp.reset();
dp[0] = 1;
int imin = min(a, min(b, c));
int imax = max(a, max(b, c));
if(k*imin > n || k*imax < n)
{
puts("No");
continue;
}
for(int i=1; i<=k; ++i)
{
swap(dp, pd);
dp.reset();
dp |= pd << a;
dp |= pd << b;
dp |= pd << c;
}
if(dp
)
puts("Yes");
else
puts("No");
}
return 0;
}
相关文章推荐
- ZSTU校赛Problem H: 玩具(尺取)
- FZU 2214 ——Knapsack problem——————【01背包的超大背包】
- 西南交通大学第十三届ACM决赛 D.Music Problem 背包DP
- 西南交通大学第十三届ACM决赛 D.Music Problem 背包DP
- 动态规划解背包问题/C++/Knapsack problem
- test2 Problem B. Market (背包dp)
- 【bzoj 十连测】[noip2016十连测第二场]Problem B. Market(dp:01背包)
- DP 动态规划 Problem Q 1017 背包问题
- 之江学院2017ACM 校赛Problem D: qwb与神奇的序列
- DP 动态规划 Problem R 1018 完全背包
- 二维背包:http://acm.hdu.edu.cn/showproblem.php?pid=3303
- 第六届福建省大学生程序设计竞赛 Problem C Knapsack problem【背包问题】
- 第六届福建省大学生程序设计竞赛-重现赛,Problem C Knapsack problem【大背包】
- Problem-J-完全背包
- projecteuler---->problem=31----Coin sums 无限背包计算可能存在的次数
- 校赛热身 Problem C. Sometimes Naive (状压dp)
- 2017 武大校赛 I: A simple math problem(矩阵快速幂)
- 哈理工第四届校赛,,,F题,背包
- 广东工业大学2016校赛决赛-网络赛 1169 Problem A: Krito的讨伐 优先队列
- 广东工业大学2016校赛决赛Problem B Sward Art Online(分组背包)