放苹果

作者: UAV | 来源:发表于2020-07-14 14:22 被阅读0次

题目描述

把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。

输入

每个用例包含二个整数M和N。0<=m<=10,1<=n<=10。

样例输入

7 3

样例输出

8

/**

  • 计算放苹果方法数目

  • 输入值非法时返回-1

  • 1 <= m,n <= 10

  • @param m 苹果数目

  • @param n 盘子数目数

  • @return 放置方法总数

*/

public static int count(int m, int n)

输入描述:

输入两个int整数

输出描述:

输出结果,int型

示例1

输入
7 3
输出
8

思路

链接:https://www.nowcoder.com/questionTerminal/bfd8234bb5e84be0b493656e390bdebf
来源:牛客网

/*

放苹果分为两种情况,一种是有盘子为空,一种是每个盘子上都有苹果。

令(m,n)表示将m个苹果放入n个盘子中的摆放方法总数。

1.假设有一个盘子为空,则(m,n)问题转化为将m个苹果放在n-1个盘子上,即求得(m,n-1)即可

2.假设所有盘子都装有苹果,则每个盘子上至少有一个苹果,即最多剩下m-n个苹果,问题转化为将m-n个苹果放到n个盘子上

即求(m-n,n)

综上所述:

(m,n)=(m,n-1)+(m-n,n);

*/

#include<iostream>
using namespace std;
#include<string>
#include<vector>
int putapples(int m, int n);
int main() {
    int num1,num2;
    while (cin>>num1>>num2)
    {
        int result=putapples(num1, num2);
        cout << result << endl;
    }
}
//m 苹果,n 盘子
int putapples(int m, int n) {
    //没有苹果
    if (m < 0) {
        return 0;
    }
    /*
    m==1,只有1个苹果
    n==1,只剩下一个盘子
    */
    if (m == 1 || n == 1) {
        return 1;
    }
    /*
    1个空盘子,没有空盘子。一个空盘子的对立面是一个空盘子都没有。
    putapples(m, n - 1) 只有1个空盘子
    putapples(m-n,n) 一个空盘子都没有
    */
    return putapples(m, n - 1) + putapples(m-n,n);
}

相关文章

  • 放苹果

    解析 参考牛客网解析: 难点:当苹果大于盘子时,(这是大前提,注意哦) 我们怎么确定有多少种放法. 此时我们考虑了...

  • 放苹果

    题目描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,...

  • 放苹果

    题目描述 把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,...

  • HWOJ放苹果

    题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1...

  • 递归例题:放苹果

    这里利用分类分别递归的思想,通过分析题目可知,不能通过先走一步,减少问题规模,而是直接分成几个大类,同时,注意规划...

  • 0035-放苹果

    问题描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)注意:5...

  • 动态规划-放苹果

    设f(m,n)为m个苹果,n个盘子的放法数目,则先对n作讨论,* 当n>m:必定有n-m个盘子永远空着,去掉它们对...

  • 动态规划之放苹果

    题目描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,...

  • HJ61 放苹果

    把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?注意:如果有7个苹果和3个盘子...

  • 4-20抽屉原理

    桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面至少放两个苹果。这一现象就...

网友评论

      本文标题:放苹果

      本文链接:https://www.haomeiwen.com/subject/kxpqcktx.html