题目描述
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
输入描述:
每行均包含二个整数M和N,以空格分开。1<=M,N<=10。
输出描述:
对输入的每组数据M和N,用一行输出相应的K。
示例1
输入
复制
7 3
输出
复制
8
#include <stdio.h>
int main() {
int array[12][12];
for (int i = 1; i <= 10; ++i) {
array[1][i] = array[0][i] = 1;
array[i][1] = 1;
}
for (int i = 2; i <= 10; ++i) {
for (int j = 2; j <= 10; ++j) {
if (i < j) {
//
array[i][j] = array[i][j - 1];
} else {
array[i][j] = array[i][j - 1] + array[i - j][j];
}
}
}
int m, n;
while (EOF != scanf("%d%d", &m, &n)) {
printf("%d\n", array[m][n]);
}
return 0;
}