您的位置:首页 > 其它

poj1664 放苹果 (母函数)

2015-08-11 19:58 260 查看
/*
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法
*/
# include<stdio.h>
# include<algorithm>
# include<string.h>
using namespace std;
int main()
{
int t,i,j,k,n,m;
int c1[15],c2[15];
while(~scanf("%d",&t))
{
while(t--)
{
scanf("%d%d",&m,&n);
memset(c1,0,sizeof(c1));
memset(c2,0,sizeof(c2));
for(i=0;i<=m;i++)
c1[i]=1;
for(i=2; i<=n; i++)///盘子个数
{
for(j=0; j<=m; j++)///总量
{
for(k=0; k+j<=m; k+=i)
{
c2[k+j]+=c1[j];
}
}
for(j=0; j<=m; j++)
{
c1[j]=c2[j];
c2[j]=0;
}
}
printf("%d\n",c1[m]);
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: