ECNUOJ 2143 端午节快乐

端午节快乐

Time Limit:1000MS Memory Limit:65536KB
Total Submit:1720 Accepted:868

Description 

有一段有趣的传说。公元前340年,爱国诗人、楚国大夫屈原,面临亡国之痛,于五月五日,悲愤地怀抱大石投汩罗江,为了不使鱼虾损伤他的躯体,人们纷纷用竹筒装米投入江中。以后,为了表示对屈原的崇敬和怀念,每到这一天,人们便用竹筒装米,投江祭奠,这就是我国最早的粽子——“筒粽”的由来。

今天是端午节,ECNU决定请大家吃粽子。恰好,今天超市为了迎合"端午节",推出了"端午大酬宾",即促销活动。严格的买三送一,买五送二。
ECNU想用现有的钱,买最多的粽子,但是他自己又不会算,所以希望你能帮帮他。

Input 

输入第一行为一个数N(1<=N<=100),表示测试数据的组数。
每组测试数据有两个整数,A,B (0<=A<=1000,0<B<10)表示ECNU有A元钱,每个粽子价格为B元钱,超市推出了买5个送2个,和买3个送1个的活动。

Output 

输出ECNU最多能买到的粽子数量。

Sample Input 

2
10 3
22 3

Sample Output 

4
9


Hint:
有两组测试数据:
对于第一组测试数据:有10元钱,粽子3元一个,可以买3个,但是买3送1,所以最后有4个。
对于第二组测试数据:有22元钱,粽子3元一个,可以买7个,但是买5送2,所以最后有9个。

Source

第一届程序设计竞赛

 

解题:一道dp题,记忆化搜索啦

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 const int maxn = 1010;
 4 int dp[maxn],A,B;
 5 int dfs(int money) {
 6     if(money < B) return 0;
 7     if(dp[money]) return dp[money];
 8     int ret = 0;
 9     if(money >= B*5) ret = max(ret,dfs(money - B*5) + 7);
10     if(money >= B*3) ret = max(ret,dfs(money - B*3) + 4);
11     if(money >= B) ret = max(ret,dfs(money - B) + 1);
12     return dp[money] = ret;
13 }
14 int main() {
15     int n;
16     scanf("%d",&n);
17     while(n--) {
18         scanf("%d%d",&A,&B);
19         memset(dp,0,sizeof dp);
20         printf("%d\n",dfs(A));
21     }
22     return 0;
23 }
View Code

 

转载于:https://www.cnblogs.com/crackpotisback/p/4617680.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405535.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

教你看编号选希捷硬盘

对于大部分消费者而言&#xff0c;很多人在选购硬盘时&#xff0c;都会把注意力集中在硬盘的容量上&#xff0c;而近期一些用户也会注意到硬盘的接口&#xff08;IDE或者是SATA&#xff09;等方面&#xff0c;但是&#xff0c;硬盘的性能并不仅仅表示在容量以及接口上&#xff…

两块网卡实现多台机器共享上网

组建局域网内部网络&#xff0c;遇到的问题&#xff1a;购买电信的宽带&#xff0c;多人拨号肯定是不行的(貌似同时超过4台机器拨一个号就自动被断开网络了)。 使用一些软件共享上网觉得既然是人家开发的软件&#xff0c;不太放心里面加了什么代码会监控这边的网络&#xff0c;…

Gvim 字体大小设置和FencView插件安装

1. GVim更改字体及大小 在命令模式下输入: set guifontlucida\ console:h14 其中&#xff0c;字体名有空格的话&#xff0c;要转义下. 2. FencView插件(Ver4.8)下载位置&#xff1a; http://vim.sourceforge.net/scripts/download_script.php?src_id17381 解压出来后&am…

深度学习--Matlab使用LSTM长短期记忆网络对负荷进行预测

一、LSTM描述 长短期记忆网络&#xff08;LSTM&#xff0c;Long Short-Term Memory&#xff09;是一种时间循环神经网络&#xff0c;是为了解决一般的RNN&#xff08;循环神经网络&#xff09;存在的长期依赖问题而专门设计出来的&#xff0c;所有的RNN都具有一种重复神经网络…

计算机桌面怎么全屏显示,电脑显示器如何设置成满屏

在有些时候我们的网友不清楚电脑显示器如何设置成满屏&#xff0c;那么下面就由学习啦小编来给你们说说电脑显示器设置成满屏的方法吧&#xff0c;希望可以帮到你们哦!电脑显示器设置成满屏的方法&#xff1a;右击桌面&#xff0c;选择弹出对话框中的【屏幕分辨率】如下图。弹出…

Matlab中求数据概率分布的方法

一、问题描述 对已有的一些列数据进行分析&#xff0c;想得到该数据的分布和统计特性&#xff0c;如概率密度函数&#xff0c;概率分布&#xff0c;累计概率密度等等。 例如&#xff0c;已有一段时间的声音测量数据&#xff0c;求该数据的分布特性&#xff0c;并给出噪声的95…

matlab设置plot图像尺寸大小、坐标轴等

Matlab作为工程中的数据可视化工具是非常的方便的。但是在具体的生成过程中通常会遇见以下几个比较常见的问题&#xff0c;这里以我最近在写论文中用图遇到的问题作为例子。简要说明输出图像大小位置规范的重要性。 1&#xff1a;colorbar的位置大小范围不一致、不合理 2&#…

MMN实用架构过程概览

MMN&#xff08;Macro-Micro-Nano&#xff0c;即宏观-微观-纳米&#xff09;实用架构过程初步体现了我的架构观&#xff1a;即以实用主义态度把握架构原则与本质思想&#xff0c;从系统的各个层次剖析架构&#xff0c;提供一个具有指导意义和实施价值的架构过程&#xff0c;采取…

实践分享:开始用Cordova+Ionic+AngularJS开发App

http://www.cocoachina.com/webapp/20150707/12395.html 本文是一篇关于我本人在使用CordovaIonic以及AngularJS开发移动App的过程中的经验的总结&#xff0c;它不是一篇基础入门教程&#xff0c;而是和大家探讨一下关于如何更好的使用这些技术开发一个更好的App。 声明&#x…

git仓库的基本用法

一、简介 git是一个免费的、开源的分布式版本控制系统&#xff0c;可以快速高效地处理从小型到大型的项目。git很容易学习&#xff0c;而且它的占用资源很小&#xff0c;性能也非常好。它超越了subversion、cvs、perforce和clearcase等scm工具&#xff0c;具有廉价的本地分支、…

关于检测手机信号强度,wifi信号强度以及检测周围wifi热点的一个小例子

From: http://blog.csdn.net/wanglj0925/article/details/7743182 一.检测手机信号强度 检测手机信号强度需要用到TelephonyManager类 这个类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法。其中包括手机SIM的状态和信息、电信网络的状态及手机用户的信息。在…