首页 > 移动平台 > 详细

【题解】放苹果

时间:2019-04-06 14:04:38      阅读:126      评论:0      收藏:0      [点我收藏+]

题目描述

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

 

输入输出格式

输入格式

        一行,包含二个整数M和N,以空格分开。(1≤M,N≤100)

 

输出格式

        一行,一个整数K,可行的方案数。

 

输入输出样例

输入样例

7 3

 

输出样例

8

 

题解

        用$a[i][j]$表示$i$个苹果放$j$个盘子,易得有两种情况:一是不放第$j$个盘子,一是放第$j$个盘子即放满所有盘子,得$a[i][j]=a[i][j-1]+a[i-j][j]$。

技术分享图片
#include <iostream>
#define MAX_M 101
#define MAX_N 101

using namespace std;

int m, n;
int a[MAX_M][MAX_N];

int main()
{
    cin >> m >> n;
    for(register int i = 0; i <= m; i++) for(register int j = 1; j <= n; j++)
    {
        if(i < 1 || j < 2) a[i][j] = 1;
        else if(i < j) a[i][j] = a[i][i];
        else a[i][j] = a[i - j][j] + a[i][j - 1];
    }
    cout << a[m][n];
    return 0;
}
参考程序

 

【题解】放苹果

原文:https://www.cnblogs.com/kcn999/p/10661386.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!