#这道有点涉及DTGH的题原题网址 题号:T1208;知识点:递归、递推;难度:普及T2;小蒜想知道把 $M$ 个同样的苹果放在 $N$ 个同样的盘子里,允许有的盘子空着不放,共有多少种不同的分法?(用 $K$ 表示)$5$,$1$,$1$ 和 $1$,$5$,$1$ 是同一种分法。输入格式第一行是测试数据的数目 $t(0 \le https://nanti.jisuanke.com/t/T1208
主要思路如下:定义一个int f(int a, int b, int c)函数,a表示还有几个苹果要放,b表示一个盘子至少放几个苹果,c表示还有几个盘子。可以递归搜索,每次在return前把结果塞到一个以a和b为下标二维数组里,这样可以剪枝,也就是同样的参数输入可以避免再次执行。最后f(M, 0, N)。代码我有空来写(:P)。
int f(int a, int b, int c)
f(M, 0, N)