当前位置:首页 > 题解目录 > 正文内容

【题解】分糖果

亿万年的星光3年前 (2022-10-20)题解目录2250

【题目描述】

小A在生日这天收到了哥哥送来的一盒糖果,这盒糖果共有M个,小A要把这盒糖果放到N个盘子中(允许有盘子不放),请问,有多少种不同的放法?

请注意:数值相同,顺序不同,我们视为是相同的放法,比如,1 1 6,和1 6 1、6 1 1,我们视为是同一种放法。

【输入描述】

输入包含多组测试样例。每组输入的第一行是一个整数t,表示数据有多少组。(t<=10)

接下来t行,每行输入两个整数M和N,代表有糖果的数量和盘子的数量。

(M和N均≥0,且≤20)

【输出描述】

对于每对输入的M和N,输出有多少种放法。

【样例输入】

1
7 3

【样例输出】

8


【参考答案

#include<stdio.h>

int dp(int m,int n)
{
	if(!m||m==1||!n||n==1)
		return 1;
	if(m<n)
		return dp(m,m);
	return dp(m,n-1)+dp(m-n,n);
}

int main()
{
	int t,m,n;
	while(scanf("%d",&t)!=EOF)
	{
		while(t--)
		{
			scanf("%d%d",&m,&n);
			printf("%d\n",dp(m,n));
		}
	}
	return 0;
}


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

标签: 动态规划
分享给朋友:

相关文章

【题解】移动路线

【题目描述】X桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。小明是个调皮的孩子,一...

【循环】日记第几天

【题目描述】小明每天都坚持写日记,突然有一天小明在想,我今年写了多少篇日记了?一篇一篇的数好麻烦,没办法小明只能把这个艰难的问题交给聪明的你来解决。【输入描述】输入三个整数�y,m,d分别表示年月日,...

【题解】排队买票

【题目描述】有M个小孩到公园玩,门票是1元。其中N个小孩带的钱为1元,K个小孩带的钱为2元。售票员没有零钱,问这些小孩共有多少种排队方法,使得售票员总能找得开零钱。注意:两个拿一元零钱的小孩,他们的位...

【题解】找零钱—动态规划

给定一些人民币的面额,数量不限,要求找出金额为m元且人民币张数最少的方案。这个问题既可以是一个贪心问题也可以是一个动态规划的问题。对于现行的人民币面额:1、2、5、10、20、50、100,我们找任何...

【题解—深搜】马走日

【题解—深搜】马走日

【题目描述】马在中国象棋以日字形规则移动。请编写一段程序,给定n×m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。【输入】第一行为整...

【题解】单词接龙

【题目描述】单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重...