M个梨子放N个盘子

2023-11-05

M个梨子放N个盘子
题目描述
Macro非常喜欢吃梨,有一天他得到了ACMICPC组委会送给他的一筐梨子。他比较心疼学生,就打算把梨子分给学生吃。现在他要把M个梨子放到N个盘子里面 (我们允许有的盘子为空) ,你能告诉Macro有多少种分法吗?(请注意,如果有三个盘子,我们将5,1,1和1,1,5,视为同一种分法)

输入
第一行是一个整数t,代表有t组样例。
第二行有两个整数M 和 N 代表有M个梨和N个盘子。

输出
输出有多少种方法

样例输入
1
7 3

样例输出
8

思路

m是梨子的个数,n是盘子的个数
用递推来写,考虑到,当有一个空盘子的时候dp(m,n)==dp(m,n-1) ,所有盘子都放满的时候问题就可以转化为dp(m-n,n)//所有的盘子都要至少有一个梨,那么问题简化为,去掉那必须放的n个梨子后,再把剩下的梨放入n个盘里面。

实现代码:

#include<bits/stdc++.h>
using namespace std;
int dp(int m,int n)
{
    if(n==1||m==0)//梨分完了或者只有一个盘子没空的全部放入一个盘子里面
        return 1;
    if(m<n)
        return dp(m,m);
    return dp(m,n-1)+dp(m-n,n);
}
int main()
{
    int t,m,n,i;
    cin>>t;
    while(t--)
    {
        cin>>m>>n;
        i=dp(m,n);
        cout<<i<<endl; 
    }
    return 0;
 } 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

M个梨子放N个盘子 的相关文章

  • 为什么通过派生类对基类的引用与 :: - 运算符不明确?

    所以我想知道为什么以下钻石问题的代码片段无法编译 我知道这个问题通常是通过虚拟继承来解决的 我不是故意使用它的 该代码只是为了展示我的问题 即为什么编译器称此不明确 因此 我在 struct Base 中声明了两个成员变量 因为这两个子类
  • 金特 + XNA (C#)

    是否可以使用jint http jint codeplex com操作使用 XNA C 创建的 3D 环境 并向该环境添加功能 再次使用 jint 作为 Jint 的贡献者 我会推荐你Jint http jint codeplex com
  • JSON.Net 反序列化返回“null”

    我正在使用 JSON Net 反序列化 JSON 字符串 JSON 字符串是 string testJson Fruits Apple color red size round Orange Pro
  • 并行化斐波那契序列生成器

    我正在学习并行化 在一项练习中 我得到了一些我应该提高性能的算法 其中之一是斐波那契数列生成器 array 0 0 array 1 1 for q 2 q lt MAX q array q array q 1 array q 2 我怀疑 这
  • 如果 JSON.NET 中的值为 null 或空格,则防止序列化

    我有一个对象需要以这样的方式序列化 即 null 和 空白 空或只是空格 值都不会序列化 我不控制对象本身 因此无法设置属性 但我知道所有属性都是字符串 环境NullValueHandling显然 忽略 只能让我找到解决方案的一部分 它 似
  • C# 处理标准输入

    我目前正在尝试通过命令行断开与网络文件夹的连接 并使用以下代码 System Diagnostics Process process2 new System Diagnostics Process System Diagnostics Pr
  • C++ 将联合强制转换为其成员类型之一

    以下对我来说似乎完全符合逻辑 但不是有效的 C 联合不能隐式转换为其成员类型之一 有人知道为什么不这样做的充分理由吗 union u int i char c function f int i int main u v v i 6 f v
  • while循环中的变量初始化

    我有一个可以分块读取文件的函数 public static DataObject ReadNextFile 数据对象看起来像这样 public DataObject public string Category get set And ot
  • 用于连接 DataTable 上的动态列的动态 LINQ

    我目前遇到的情况不确定如何继续 我有两个从数据库填充的数据表 我还有一个可用的列名称列表 可用于将这两个数据表连接在一起 我希望编写一组 LINQ 查询 这些查询将 显示两个数据表中的行 内部联接 用于从一个数据表更新另一个数据表 显示一个
  • 时间:2019-03-17 标签:c++fstream并发访问

    如果从不同的进程 线程同时访问文件会发生什么 据我所知 没有锁定文件的标准方法 只有操作系统特定的功能 就我而言 文件将被经常读取而很少写入 现在如果A打开一个文件进行读取 ifstream 并开始读取块 和B打开相同的文件进行写入 ofs
  • 无法在 C# 中为 EventArgs 分配使用派生类型的事件处理程序

    所以我有一个事件声明如下 public event EventHandler OnChangeDetected 然后我有以下处理程序被分配给该事件 myObject OnChangeDetected OnTableChanged 我的理解是
  • 从 NumPy 数组到 Mat 的 C++ 转换 (OpenCV)

    我正在围绕 ArUco 增强现实库 基于 OpenCV 编写一个薄包装器 我试图构建的界面非常简单 Python 将图像传递给 C 代码 C 代码检测标记并将其位置和其他信息作为字典元组返回给 Python 但是 我不知道如何在 Pytho
  • Autoconf 问题:“错误:C 编译器无法创建可执行文件”

    我正在尝试使用 GNU 自动工具构建一个用 C 编写的程序 但显然我设置错误 因为当configure运行 它吐出 configure error C compiler cannot create executables 如果我看进去con
  • Linq.Select() 中的嵌套表达式方法调用

    I use Select i gt new T 每次手动点击数据库后将我的实体对象转换为 DTO 对象 以下是一些示例实体和 DTOS 用户实体 public partial class User public int Id get set
  • 有没有办法直接在函数参数中格式化字符串而不是使用临时字符串?

    我有一个接受字符串 字符数组 作为参数的函数 void enterString char my string 当使用这个函数时 我经常发现自己想要输入格式化的字符串 我使用 sprintf 来做到这一点 然而 我每次都必须创建一个临时字符串
  • 将 Swagger 与命名空间版本的 WebApi 结合使用

    我已经找到了如何使用基于名称空间的 WebAPI 版本这个班 https aspnet codeplex com SourceControl changeset view dd207952fa86 Samples WebApi Namesp
  • 如何提高环复杂度?

    对于具有大量决策语句 包括 if while for 语句 的方法 循环复杂度会很高 那么我们该如何改进呢 我正在处理一个大项目 我应该减少 CC gt 10 的方法的 CC 并且有很多方法都存在这个问题 下面我将列出一些例如我遇到的问题的
  • SQL Server“未找到网络路径”在不同环境中随机且不频繁地发生

    类似 如果不是同一个问题 随机遇到网络路径未找到异常 https stackoverflow com questions 38696448 network path not found exception encountered rando
  • 为什么表达式 a = a + b - ( b = a ) 在 C++ 中给出序列点警告?

    以下是测试代码 int main int a 3 int b 4 a a b b a cout lt lt a lt lt a lt lt lt lt b lt lt b lt lt n return 0 编译此命令会出现以下警告 gt g
  • C++ Boost ASIO 简单的周期性定时器?

    我想要一个非常简单的周期性计时器每 50 毫秒调用我的代码 我可以创建一个始终休眠 50 毫秒的线程 但这很痛苦 我可以开始研究用于制作计时器的 Linux API 但它不可移植 I d like使用升压 我只是不确定这是否可能 boost

随机推荐

  • 使用docker搭建一个完全分布式的hadoop集群

    项目地址 https github com czfshine docker hadoop docker hadoop A dockerfile for setting up a full Hadoop cluster server 一套在u
  • C++ fopen、CFile如何以UTF-8编码格式读写文件

    How to write UTF 8 file with fprintf in C http stackoverflow com questions 10028750 how to write utf 8 file with fprintf
  • 从零搭建分布式文件系统MinIO比FastDFS要更合适

    前两天跟大家分享了一篇关于如何利用FastDFS组件来自建分布式文件系统的文章 有兴趣的朋友可以阅读下 用asp net core结合fastdfs打造分布式文件存储系统 通过留言发现大家虽然感兴趣 但是都觉得部署比较麻烦 的确 fastd
  • Java项目使用jib打包docker镜像的简单记录

    jib主要用来在没有docker环境下将项目打包成docker镜像 主要有一下四种方式 maven gradle core cli 本文主要介绍cli和maven两种打包方式 github地址 https github com Google
  • sap生产工单报工_一图看懂SAP 生产订单报工

    经典面试问题之一 请问生产订单报工有什么影响 答 记录了工序完成情况 记录产出和报废数量 记录人工工时和机器工时等 评 新顾问吧 再多讲两句 来个一览图 一图看懂报工业务概览 该图充分体现了SAP ERP系统的集成性 一个小小的工人报工动作
  • 狼 羊 渔夫过河问题

    这几天碰到一个有意思的程序 讲的是狼 羊 白菜船夫要过河 从南岸到北岸 结果每次船只能载船夫和一个东西 而且如果船夫不在场的话 狼会偷偷吃掉羊 羊会偷偷吃掉白菜 自己写一个算法求出可行的方案 首先我的想法是 用四个位表示这四个 然后位为0表
  • Kubernetes 集群部署 ------ UI界面(三)

    官方文件 https github com kubernetes kubernetes tree master cluster addons dashboard 五 UI界面部署 在master01上操作 创建dashborad工作目录 r
  • springboot集成定时任务框架quartz

    springboot集成定时任务框架quartz quartz框架可以很方便的执行定时任务 任务可以持久化到数据库中 这里使用的数据库为postgres 集成步骤 1 quartz和数据库驱动maven依赖
  • 关于写代码的习惯

    写代码 是一项复杂的工作 但是 代码的质量不仅在于代码的功能 还在于它是否条理清晰 简略易懂 以下内容是希望大家写代码时有好习惯 在正确的前提下 长循环放在内层 可以减少cpu跨切循环的次数 代码一定要简略易懂 不要做无效操作 这样做只会浪
  • matlab 提取图片ARGB8888数据,输出到TXT

    image imread ss png 读入图片 A rgb2gray image 提取A值的矩阵 R image 1 提取R值的矩阵 G image 2 提取G值的矩阵 B image 3 提取B值的矩阵 ranks R size R 提
  • 移植外设后可以跳转但显示未定义

    提示例如 GPC S axf Error L6218E Undefined symbol FLASH EraseSector int referred from protocolalarm o 原因就是C跟C 公用 c 引用了C的文件 C的
  • matlab内存管理

    转自 http my donews com deng 2006 09 24 vijgqxehmkxiruywdauvxyiafogtskeymhyw 用 Matlab 进行大规模科学计算或仿真时 内存是一个需要时常注意的问题 当你写的 Ma
  • 数据结构之基:从根儿上了解数据结构的特性

    学好数据结构 就等于成功了一半 程序是对现实的模拟 现实是由时间和空间组成的 高效的人都是用最少的时间 最少的空间来做最伟大的事 程序亦是如此 我们要选择最合理的算法和最合理的数据结构 来写最好的代码 这也正是时间复杂度和空间复杂度的要求
  • osgEarth获取显卡和硬件信息

    osgEarth Capabilities类负责获取显卡和硬件信息
  • 【单元测试】使用PowerMock框架进行Java静态方法的单元测试

    简介 一般来说 Java中的静态方法无法用传统的Jmock进行单测 这也就给研发人员和测试人员造成了一定的困扰 本文介绍一种使用PowerMock执行静态方法单元测试的手段 其实网上也有使用如Mockito的方法 大家可以自行搜索 静态方法
  • DSP的cache一般在何时会生效,防止在cache使用造成数据不一致

    在使用DSP的cache使能所有的ddr操作时 发现如果只是写操作 根据cache的机制 如果没有在了L1级hit 则直接使用write buffer来完成写操作 假如hit的话 那之前一定发生过读操作 比如移位某个字 肯定是先读入L2 L
  • C++ 序列化和反序列化

    序列化 序列化 1 背景 2 定义 3 序列化评价指标 4 序列化实例 参考 序列化 1 背景 1 在TCP的连接上 它传输数据的基本形式就是二进制流 也就是一段一段的1和0 2 在一般编程语言或者网络框架提供的API中 传输数据的基本形式
  • HFSS常用操作汇总

    HFSS常用操作 操作类 convert to read only 切角 Non Model 圆极化天线使用Discrete扫频 peakGain and GainTotal 局部区域的电流或电场等的分布 没收敛需要检查的地方 带状线设置l
  • Android界面-attrs自定义属性

    知识点 1 路径 values attrs xml 2 结构 根标签 下一级declare styleable 子标签为attr 3 arr标签 包含属性 name 该属性名称 format 该属性的值格式 子标签 enum 列举出固定的取
  • M个梨子放N个盘子

    M个梨子放N个盘子 题目描述 Macro非常喜欢吃梨 有一天他得到了ACMICPC组委会送给他的一筐梨子 他比较心疼学生 就打算把梨子分给学生吃 现在他要把M个梨子放到N个盘子里面 我们允许有的盘子为空 你能告诉Macro有多少种分法吗 请