算法提高(VIP)——贪吃的大嘴
题目描述
有一只特别贪吃的大嘴,她很喜欢吃一种小蛋糕。
而每一个小蛋糕有一个美味度,而大嘴是很傲娇的,一定要吃美味度之和刚好为 m 的小蛋糕,
而且大嘴还特别懒,她希望通过吃数量最少的小蛋糕达到这个目的.
所以她希望你能设计一个程序帮她决定要吃哪些小蛋糕.
输入格式
先输入一行包含 2 个整数 m、n,表示大嘴需要吃美味度和为 m 的小蛋糕,而小蛋糕一共有 n 种,
下面输入 n 行,每行 2 个整数,第一个表示该种小蛋糕的美味度,第二个表示蛋糕店中该种小蛋糕的总数
输出格式
输出一行包含一个整数表示大嘴最少需要吃的小蛋糕数量;
若大嘴无法通过吃小蛋糕达到 m 的美味度和,则输出 "><“.
样例输入
10 2
4 1
2 10
样例输出
4
数据范围
1 ≤ n ≤ 50.
1 ≤ m ≤ 20000
题解一
多重背包(1.0):
#include <iostream>
#include <cstring>
using namespace std;const int N = 50, M = 20010;int w[N], s[N];
int f[N][M];int main()
{int n, m;cin >> m >> n;for (int i = 1; i <= n; i ++) cin >> w[i] >> s[i];memset(f, 0x3f, sizeof f);f[0][0] = 0;for (int i = 1; i <= n; i ++)for (int j = 0; j <= m; j ++)for (int k = 0; k <= s[i] && k * w[i] <= j; k ++)f[i][j] = min(f[i][j], f[i - 1][j - w[i] * k] + k);if(f[n][m] != 0x3f3f3f3f) cout << f[n][m] << endl;else cout << "><" << endl;return 0;
}
题解二
多重背包(2.0):
#include <iostream>
#include <cstring>
using namespace std;const int N = 50, M = 20010;int w[N], s[N];
int f[M];int main()
{int n, m;cin >> m >> n;for (int i = 1; i <= n; i ++) cin >> w[i] >> s[i];memset(f, 0x3f, sizeof f);f[0] = 0;for (int i = 1; i <= n; i ++)for (int j = m; j >= 0; j --)for (int k = 0; k <= s[i] && k * w[i] <= j; k ++)f[j] = min(f[j], f[j - w[i] * k] + k);if(f[m] != 0x3f3f3f3f) cout << f[m] << endl;else cout << "><" << endl;return 0;
}
算法提高(VIP)——贪吃的大嘴相关推荐
- [蓝桥杯][算法提高VIP]贪吃的大嘴(多重背包)
题目描述 有一只特别贪吃的大嘴,她很喜欢吃一种小蛋糕,而每一个小蛋糕有一个美味度,而大嘴是很傲娇的,一定要吃美味度和刚好为m的小蛋糕,而且大嘴还特别懒,她希望通过吃数量最少的小蛋糕达到这个目的.所以她 ...
- 贪吃的大嘴java_[蓝桥杯][算法提高VIP]贪吃的大嘴-题解(Java代码)
解题思路:多重背包 注意事项: 参考代码: import java.util.Arrays; import java.util.Scanner; public class llq1{ public s ...
- 蓝桥杯算法提高VIP-贪吃的大嘴
题目 题目链接 题解 动态规划. 多重背包模板题. 转化成要放满承重为m的背包,所需的物品的最小价值为多少:每个物品的价值就是1,即1个,每种物品还有数量限制,套用多重背包模板即可. 代码1是二维实现 ...
- Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
算法提高 贪吃的大嘴 时间限制:1.0s 内存限制:256.0MB 问题描述 有一只特别贪吃的大嘴,她很喜欢吃一种小蛋糕,而每一个小蛋糕有一个美味度,而大嘴是很傲娇的,一定要吃美味度和刚好为m的小蛋糕 ...
- 贪吃的大嘴java_Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
算法提高 贪吃的大嘴 时间限制:1.0s 内存限制:256.0MB 问题描述 有一只特别贪吃的大嘴,她很喜欢吃一种小蛋糕,而每一个小蛋糕有一个美味度,而大嘴是很傲娇的,一定要吃美味度和刚好为m的小蛋糕 ...
- 贪吃的大嘴用java_算法提高 贪吃的大嘴
试题 算法提高 贪吃的大嘴(动态规划) 问题描述 有一只特别贪吃的大嘴,她很喜欢吃一种小蛋糕,而每一个小蛋糕有一个美味度,而大嘴是很傲娇的,一定要吃美味度和刚好为m的小蛋糕,而且大嘴还特别懒,她希望通 ...
- 【蓝桥练习系统】【多重背包】 算法提高 贪吃的大嘴
问题描述 有一只特别贪吃的大嘴,她很喜欢吃一种小蛋糕,而每一个小蛋糕有一个美味度,而大嘴是很傲娇的,一定要吃美味度和刚好为m的小蛋糕,而且大嘴还特别懒,她希望通过吃数量最少的小蛋糕达到这个目的.所以她 ...
- 蓝桥杯 ADV-168 贪吃的大嘴
算法提高 贪吃的大嘴 时间限制:1.0s 内存限制:256.0MB 问题描述 有一只特别贪吃的大嘴,她很喜欢吃一种小蛋糕,而每一个小蛋糕有一个美味度,而大嘴是很傲娇的,一定要吃美味度和刚好为m的小 ...
- 1737:贪吃的大嘴
1737:贪吃的大嘴 Description 算法提高 贪吃的大嘴 时间限制;1.0s 内存限制:256.0MB 问题描述 有一只特别贪吃的大嘴,她很喜欢吃一种小蛋糕,而每一个小蛋糕有一个美味度,而大 ...
最新文章
- 你想要的宏基因组-微生物组知识全在这(180601)
- Ubuntu下编译内核
- vs code 快捷键设置 2018
- 计算机应用技术备选计划方案,华东理工大学博士研究生培养方案计算机应用技术、计算机软件与理论、计算机系统结构二级学科(学科代码:081203、081202、081201)信息科学与工程学院...
- 微软XAML Studio - WPF, UWP, Xamarin等技术开发者的福音
- AllTray-将办法最小化到琐细托盘
- java.security.InvalidKeyException: Illegal key size
- html 美化input file,Input[type=”file”] 显示效果美化方法 | 智慧宫
- java对mysql的简单操作——增加数据
- bobsmith电路阻抗原理_串联谐振原理全解析 - 赫兹电力
- 泰勒·斯威夫特(Taylor Swift)最好听歌曲专辑,喜欢的可以下载保存
- Linux C语言写的超级简单端口扫描器
- Kylo 0.8.3 安装
- 阿里巴巴python开发面试_在阿里巴巴面试,是什么样的体验?
- android lbs 定位服务,基于Android的LBS定位系统的设计
- 没有比粥更温柔的了。念予毕生流离红尘,就找不到一个似粥温柔的人。
- 三菱fx3uplc恢复出厂设置_清除三菱FX系列PLC密码的三种方法
- 用python写生日快乐说说_祝自己生日快乐的说说
- docker查看内部tcp长连接
- OpenCV学习第十三篇:提取水平和垂直线(去除干扰线)