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

【题解】分糖果

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

【题目描述】

小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;
}


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

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

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

    相关文章

    【题解】区间和

    1.区间和(sum.cpp)【描述】输入一个整数Q,进行Q次询问,每次给定两个整数l和r,每一次输出l~r中所有平方数的和 % 1000000007【输入】第一行是一个整数Q后面的Q行每行有...

    【题解】最少操作使数组递增

    【题目描述】给你一个整数数组 nums (下标从 0 开始)。每一次操作中,你可以选择数组中一个元素,并将它增加 1 。比方说,如果 nums = [...

    【题解】河中跳房子

    【题目描述】每年奶牛们都要举办各种特殊版本的跳房子比赛,包括在河里从一个岩石跳到另一个岩石。这项激动人心的活动在一条长长的笔直河道中进行,在起点和离起点L远 (1 ≤ L≤ 1,000,000,000...

    【题解】小X与机器人

    【题解】小X与机器人

    【题目描述】小X的老师很喜欢围棋。众所周知,围棋的棋盘有19行19列,共有361个交叉点。为方便起见,我们把这些行列按顺序编号为1~19,并用(x, y)表示第x列第y行的位置。例如下图中,A用(16...

    【题解】游览动物园

    【题目描述】动物园有很多游览区,小红已经在动物园的一个游览区游览,突然接到电话,要半个小时内到动物园外面跟一个朋友见面。半个小时小红只够游览完当前区域之后,游览一个最近的景区。已知从一个游览区域只能沿...

    【题解】将钱分给最多的儿童

    【题目描述】给你一个整数 money ,表示你总共有的钱数(单位为美元)和另一个整数 children ,表示你要将钱分配给多少个儿童。你需要按照如下规则分配:...