买苹果---动态规划
题目描述
输入描述:
输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果
输出描述:
输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1
输入
20
输出
3
/*
动态规划,dp[i]表示购买i个苹果所需的最小袋数。初始化为dp容器为INT_MAX(也可以自己定义一个值)。从1苹果开始遍历,
若dp[i]为INT_MAX,表示无法购买该个数的苹果,直接开始下次循环。若dp[i]不为INT_MAX,表示该个数的苹果可以购买,
进行动态规划求解。动态规划的转移方程为:dp[i+j] = min(dp[i]+1,dp[i+j]) //j为6或8
dp[6] = 1
dp[8] = 1
*/
#include<iostream>
#include<vector>
using namespace std;
#define maxVal 101int main(){int n;while(cin>>n){vector<int> dp(n+1,maxVal);dp[6]=1;dp[8]=1;for(int i=1;i<n;i++){if(dp[i]==maxVal)continue;else{if(i+6<=n) dp[i+6]=min(dp[i+6],dp[i]+1); if(i+8<=n) dp[i+8]=min(dp[i+8],dp[i]+1);}} if(dp[n]==maxVal)cout<<"-1"<<endl;elsecout<<dp[n]<<endl;}}/*常规方法:不够高效
#include<iostream>
using namespace std;int main()
{int n;while (cin >> n){int maxOfx=n/6;int maxOfy=n/8;int i,j;for(i=maxOfy;i>=0;i--){for(j=0;j<=maxOfx;j++){if(i*8+j*6>=n)break;}if(i*8+j*6==n)break;}if(i==-1&&j==maxOfx+1) //如果遍历了所有的情况,没有满足条件的就输出-1cout<<"-1"<<endl;elsecout<<i+j<<endl;}return 0;
}
*/
买苹果---动态规划相关推荐
- 网易2017年秋招买苹果
小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分). 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带.如果不能购买恰好n个苹果,小易将不 ...
- C++每日一练:买苹果(两种解法)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.题目 二.题目分析 三.代码 总结 一.题目 题目描述: 小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每 ...
- 超市买苹果变量的定义和使用
# 1. 定义苹果的单价 price = 8.5# 2. 挑选苹果 weight = 7.5# 3. 计算付款金额 money = weight * price# 4. 只要买苹果,就返回 5 块钱 ...
- 《网易编程题》买苹果
题目描述 小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分). 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带.如果不能购买恰好n个苹果 ...
- 2017年网易校招题 买苹果
题目描述 小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分). 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带.如果不能购买恰好n个苹果 ...
- 练习答案-分支与循环-超市买苹果练习-猜数字小游戏
超市买苹果,初始版 需求 参考代码 # 苹果价格 多少钱一斤 price = 5# 买家购买数量 num = int(input("需要买几斤苹果"))# 总价格 total_pr ...
- 苹果双卡双待是哪一款_等12 mini还是买苹果11?实体店老板给出了答案,很有道理!...
原标题:等12 mini还是买苹果11?实体店老板给出了答案,很有道理! 今年的苹果四款手机,你们会选择哪一款呢?或许已经有很多人都已经选择了iPhone12/Pro,因为这俩机型卖得很火爆,不过个人 ...
- [java编程题]买苹果
题目描述 链接:https://www.nowcoder.com/questionTerminal/61cfbb2e62104bc8aa3da5d44d38a6ef 小易去附近的商店买苹果,奸诈的商贩 ...
- NewCoder:买苹果
题目来源 https://www.nowcoder.com/questionTerminal/61cfbb2e62104bc8aa3da5d44d38a6ef 题目描述 小易去附近的商店买苹果,奸诈的 ...
最新文章
- ldd查看可执行程序的依赖库
- IOS树视图学习总结
- IT人员健康信号之肠胃保养
- 码牛安卓移动互联网高级开发正式课
- ubuntu linux下面运行《暗黑破坏神2》和英雄无敌3-死亡阴影
- 阿里云深圳数据中心正式开放
- spring 线程池_Spring线程池服务
- ado.net mysql 连接池_ADO.NET数据库连接池的介绍 | 学步园
- python钻石数据分析_数据分析该用什么工具?
- [leetcode](4.21)4. 有效子数组的数目
- python实现tsinghua-tencent 100000数据集的json文件转为xml文件
- pat1045. Favorite Color Stripe (30)
- 在MyEclipse(2015)中上传项目到github的步骤(很详细)
- springcloud 服务调用的两种方式
- 【嵌入式系统开发19】理解嵌入式实时操作系统,以uc/OS为例利用C8T6完成LED周期闪烁以及串口周期输出
- 每日一题 | 数学神童的红眼睛与蓝眼睛问题
- 使用CSS画一个萌萌的大白
- 服务器光盘的正确使用方法,使用光盘刻录服务器,自动备份数据到光盘(成功案例)...
- zzuli 1787: 生化危机 (bfs与dfs)
- nodejs下载及安装(windows)
热门文章
- Replication Backlog
- 计算机毕业设计中用Java实现商场库存清单案例
- vue 判断两对象是否一致_vue - 比较两个Json对象是否相等
- 服务器上文件夹没有共享,服务器没有共享文件夹
- keepalived 多个应用_Keepalived高可用软件概述
- python sep参数_Python 3.3:分离参数(sep)给出
- mysql的知识_mysql基础知识
- 同时生成 Release版和Debug版DLL的方法
- win7 64 php5ts.dll,windows7 64位 php5.3安装php_mongo.dll方法
- java lock代码写法_[代码全屏查看]-java lock的使用