水果盛宴(fruit)
水果盛宴(fruit)
题目描述
贝茜又再一次地闯入了 Farmer John 的房子!她在厨房发现了一堆柠檬和一堆橘子(每堆都有无限多个),并且,她希望尽可能地多吃。
贝茜的有一个饱腹值上限 T(1<=T<=5,000,000)。吃一个橘子会增加她 A 点饱腹值,吃一个柠檬会增加她 B 点饱腹值(1<=A,B<=T),如果她愿意,贝茜可以最多喝一次水,这会立即使她的饱腹值变成一半,请你帮助贝茜求出她可以获得的最大饱腹值。
输入
一行三个整数 T,A 和 B
输出
一行一个整数,表示贝茜可获得的最大饱腹值
样例输入
8 5 6
样例输出
8
题目思路:
这道题的大意:给你一个饱腹值,叫你尽可能多吃,你有3种办法,吃柠檬和橘子即喝水(将饱腹值/2);
下面我来讲讲我的思路:
①因为饱腹值可以减半,所以不妨给它开一个二位数组
int dp[5000100][2];
②为了寻找可以达到的最大的饱腹值,不妨把不喝水饱腹值记录为0 ,喝水饱腹值记录为 0。最后我们从 n->1去判断就行了!
code:
#include<cmath>
#include<cstdio>
#include<iostream>
#define ft(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
const int INF=5e6+5;
int dp[INF][2];
int main()
{freopen("fruit.in","r",stdin);freopen("fruit.out","w",stdout);int t,a,b;cin>>t>>a>>b;dp[0][0]=1;ft(j,0,1){ft(i,0,t){if(dp[i][j]){if(i+a<=t) dp[i+a][j]=1; //吃橘子if(i+b<=t) dp[i+b][j]=1; //吃柠檬if(!j) dp[i/2][1]=1; //喝水}}}while (!dp[t][1]&&!dp[t][0]) t--; //取最大值cout<<t<<endl;return 0;
}
水果盛宴(fruit)相关推荐
- java定义苹果类Apple_定义一个水果接口Fruit,里面定义一个表示吃水果的eat方法。定义一个苹果类Apple和一个橘子...
importjava.util.Scanner;interfaceFruit{publicvoideat();//创建一个Fruit接口,里面包含一个eat方法}classAppleimplement ...
- python:水果与设计模式-原型模式
原型模式(Prototype Pattern):属于创建型模式,它提供了一种创建对象的最佳方式.这种模式实现了一个原型接口,该接口用于创建当前对象的克隆.当直接创建对象的代价比较大时,则采用这种模式. ...
- Javaweb——水果系统基础版
水果系统基础版-多Servlet版本 现在我们需要给页面添加几个功能: 点击水果的名字能查看水果的详情,然后可以修改水果的信息. 点击 添加新库存记录时可以添加新纪录. 点击x操作时,可以将响应水果的 ...
- 21版本FL Studio水果音乐制作软件下载
因为对音乐有一些了解,所以周边有不少朋友会问我很多关于音乐的问题,其中比较多是学习音乐到底用哪款软件比较好.每次遇到这样的问题,我都会告诉他们,就是我一直在用的音乐制作软件FL Studio.音乐制作 ...
- 水果库存系统(基础版)
不为失败找理由,只为成功找方法.所有的不甘,因为还心存梦想,所以在你放弃之前,好好拼一把,只怕心老,不怕路长. 文章目录 一.知识储备 二.系统设计 1.系统介绍 2.系统结构 三.效果展示 四.功能 ...
- JavaScript,switch 语句查询水果价格案例
语法说明: switch(n) { case 1:执行代码块 1break; case 2:执行代码块 2break; default:没有匹配的case时默认执行的代码 } 案例说明: 用户在弹出框 ...
- java水果忍者7723_水果忍者java手机版下载|
2个得分技巧: 连切(combo) 连切3个水果(3 fruit combo)及以上将增加一倍的分数,即3 fruit combo 奖励3分,10 fruit combo 奖励10分 连切3个水果计一 ...
- cocos2d-x lua 3.10 消除水果
环境 操作系统: windows 10 21H1 x64 Visual Studio 2019 Visual Studio Code (插件:QuickXDev) 下载 Quick-Cocos2dx- ...
- FL水果最新21版及fl studio怎么设置中文教程
虽然选择软件多,但是除FL Studio外其他软件的使用逻辑大致相同,新手同学不要过多纠结软件,就好像你会用某信聊天,那你换成小破站,你都是能够快速聊天的,达到你聊天沟通的目的!以此类推,大家学编曲核 ...
最新文章
- Java 理论与实践: 流行的原子——新原子类是 java.util.concurrent 的隐藏精华(转载)...
- Prim算法(最小生成树;例题:nyoj38)
- [翻译]编写高性能 .NET 代码 第一章:工具介绍 -- Visual Studio
- 第三章EF的基本使用 综合案例(练习)
- 强制MySQL查询走索引和强制查询不缓存
- linux 系统运维小工具
- png 微软ppt 透明度_工作必备,如何用PPT把logo玩出千种花样?
- dubbox与dubbo
- mac关闭谷歌自动更新
- 算法转 Java 后端,2021秋招斩获腾讯、京东、百度等大厂 offer 面经分享!
- mysql 性能优化,减轻数据库的压力。(减少数据库查询的次数)
- mybatis的Mapper文件中的大于小于号,为什么要转成“lt ;”、“gt ;”,转义后的lt、gt又代表什么?
- 开发者的如何优雅的使用OSX
- linux LED设备驱动文件
- 安卓手机root、修改文件权限、更改按键映射
- win7提示盗版 且各种工具无法激活
- hint: Updates were rejected because the tip of your current branch is behind(git push线上与本地版本冲突问题)
- MSF Project Management Discipline
- android dynamic features 项目笔记
- 北京化工大学计算机组成原理考试,北京化工大学攻读硕士学位研究生复试样题《计算机组成原理》《操作系统》.doc...