首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
放苹果
[编程题]放苹果
热度指数:159756
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32M,其他语言64M
算法知识视频讲解
把m个
同样
的苹果放在n个
同样
的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?
注意:如果有7个苹果和3个盘子,(5,1,1)和(1,5,1)被视为是同一种分法。
数据范围:
,
。
输入描述:
输入两个int整数
输出描述:
输出结果,int型
示例1
输入
7 3
输出
8
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(156)
邀请回答
收藏(5349)
分享
提交结果有问题?
350个回答
342篇题解
开通博客
法拉利201903231900848
发表于 2019-08-22 14:37:05
''' 放苹果分为两种情况,一种是有盘子为空,一种是每个盘子上都有苹果。 令(m,n)表示将m个苹果放入n个盘子中的摆放方法总数。 1.假设有一个盘子为空,则(m,n)问题转化为将m个苹果放在n-1个盘子上,即求得(m,n-1)即可 2.假设所有盘子都装有苹果,则每个盘子上至少有一个苹果,即最多剩下
展开全文
不会做题的小菜鸡
发表于 2021-11-08 03:09:00
题目分析 题目给我们苹果的数量m和盘子的数量n 要将苹果放在盘子里,可以允许空盘,问有多少种放置方案 但是盘子顺序是可以任意调换的,调换前后认为是同一种放置方案 方法一:递归 实现思路 我们递归的最终结果是要返回solution(m,n) 递归退出条件: 如果没有苹果,则说明放置已经完
展开全文
中年美少女
发表于 2020-09-08 16:57:45
设f(m,n) 为m个苹果,n个盘子的放法数目,则先对n作讨论, 当n>m:必定有n-m个盘子永远空着,去掉它们对摆放苹果方法数目不产生影响。即if(n>m) f(m,n) = f(m,m) 当n<=m:不同的放法可以分成两类: 1、有至少一个盘子空着,即相当
展开全文
玖语
发表于 2020-06-23 12:12:36
采用递归的思想将此事件无限细分,每个事件可以分为f(m,n)=f(m-n,n)+f(m,n-1);f(m-n,n)是当苹果数大于等于盘子数的情况,f(m,n-1)是当苹果数小于盘子数的情况。当此事件分到苹果数为0或苹果数为1或盘子数为1的时候返回1,当苹果数小于0或盘子数小于等于0返回0. impo
展开全文
江南好___
发表于 2021-12-09 12:38:20
描述 题目描述 把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 示例 输入: 7 3 输出: 8 知识点:递归,动态规划 难度:⭐⭐ 题解 方法一:递归 解题思路: 通过递归,定义好递归的功能以及设置递
展开全文
enstein
发表于 2020-04-13 09:09:00
放苹果组合问题--DP实现 初始状态转移矩阵dp[n][m],dp[i][j]表示i个盘子放j个苹果的放法; 状态转移方程为 #include<iostream> #include<vector> using namespace std; int putapples(in
展开全文
脱缰的哈士奇~
发表于 2022-06-18 09:38:42
华为-称苹果(好题) HJ61 放苹果 | 华为机试 动态规划 使用动态规划思想求解,记 dp[i][j] 表示使用 i 个苹果放入到 j 个盘子的方案数。 若 i<j,即苹果比盘子数小 比如将 2 个苹果放入 3 个盘子,必然会有一个盘子为空,即{0,x,y},其中一位固定为 0,不
展开全文
godhands
发表于 2021-11-11 23:46:57
描述 题目描述 首先我们就是有 m 个苹果,有 n 个盘子,然后问我们把这些苹果放到这些盘子里面,问我们有多少种情况,这里我们注意一下,题目中给了一个很重要的点,就是如果5, 1, 1和 1,1,5是同一种情况,那么这个题瞬间就好做了很多,我们就不用考虑这种排列组合的情况了,题意就是这样 注意: 本
展开全文
硅谷小码农
发表于 2022-03-29 23:46:32
***我是真的看不懂这个吊毛动态规划是什么JB狗币逻辑我真是草了滚 import java.util.*; public class Main { public static void main(String[] args) { Scanner scan = new Scan
展开全文
saving~
发表于 2021-09-26 21:09:32
动态规划:尽量考虑极端情况,然后总结 let str; while(str = readline()){ let arr = str.split(' '); let m = parseInt(arr[0]),n=parseInt(arr[1]); console.log(getCoun
展开全文
问题信息
动态规划
递归
难度:
350条回答
5349收藏
35493浏览
热门推荐
通过挑战的用户
查看代码
我是起名字的天才
2023-03-10 16:22:17
21岁扶墙编程
2023-03-06 23:12:39
奈何笑不了
2023-03-02 10:18:23
加班狗玩代码
2023-02-09 21:29:24
97-Cherry
2023-02-08 17:14:45
相关试题
执行完下列语句段后,i值为()
递归
评论
(16)
编程题 ,按照要求创建Java 应...
Java
评论
(1)
计算机系统中用于管理硬件和软件资源...
编程基础
评论
(1)
市场与销售的区别在哪里?
市场营销
评论
(1)
说出3个获取用户需求的方法并简述其...
用户研究
评论
(1)
放苹果
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); } }
#include
#include
#include
using namespace std; int main(){ }
7 3
8