P2386放苹果带来的n种考量
程序员文章站
2022-05-09 13:47:18
...
题目描述
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分发(5,1,1和1,1,5是同一种方法)
输入输出格式
输入格式:
第一行是测试数据的数目t(0 <= t <= 20),以下每行均包括二个整数M和N,以空格分开。1<=M,N<=10
输出格式:
对输入的每组数据M和N,用一行输出相应的K。
输入输出样例
输入样例#1: 复制
1 7 3
输出样例#1: 复制
8
输入样例#2: 复制
3 3 2 4 3 2 7
输出样例#2: 复制
2 4 2
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int m,t,n;
cin>>t;
int dp[110][110];
for(int i=0;i<=15;i++)
{
for(int j=1;j<=15;j++)
{
if(j==1||i==0){dp[i][j]=1;}
else if(i<j){dp[i][j]=dp[i][i];}
else{dp[i][j]=dp[i-j][j]+dp[i][j-1];}
}
}
for(int r=0;r<t;r++)
{
cin>>m>>n;
cout<<dp[m][n]<<endl;
}
return 0;
}
下一篇: iOS 获取UserAgent
推荐阅读