hdu 2082 找单词 (母函数)

题目链接

数据有点弱。。

#include"stdio.h"
int main()
{
	int T,i,j,k,a[27],ans,sum;
	int c1[51],c2[51];
	scanf("%d",&T);
	while(T--)
	{
		sum=0;
		for(i=1;i<=26;i++)
			scanf("%d",&a[i]);
		for(i=0;i<=50;i++)
			c1[i]=c2[i]=0;
		c1[0]=1;
		for(i=1;i<=26;i++)
		{
			for(j=0;j<=50;j++)
			{
				for(k=0;j+k*i<=50&&k<=a[i];k++)
					c2[j+k*i]+=c1[j];
			}
			for(j=0;j<=50;j++)
			{
				c1[j]=c2[j];
				c2[j]=0;
			}
		}
		ans=0;
		for(i=1;i<=50;i++)
			ans+=c1[i];
		printf("%d\n",ans);
	}
	return 0;
}




你可能感兴趣的:(hdu 2082 找单词 (母函数))