闫氏dp法
注意点:这里m个影分身必须全部分配。例如1 2 的方案数是1 而不是2。
代码
#include<iostream>
using namespace std;
const int N = 15;
int f[N][N];
int m,n;
int T;
int main()
{
cin>>T;
while(T--)
{
cin>>m>>n;
for(int i=0;i<=n;++i)f[0][i]=1;
for(int i=1;i<=m;++i)
{
for(int j=1;j<=n;++j)
{
f[i][j]=f[i][j-1];
if(i-j>=0)
f[i][j]+=f[i-j][j];
}
}
cout<<f[m][n]<<endl;
}
return 0;
}
这是如何保证不重复的
6
good!