杭電acm 2082找單詞(母函式)
阿新 • • 發佈:2019-01-23
7
379297
想法:這個用到母函式,不懂的話記得百度瞭解。
用c1【i】儲存價值為i的種數,i為價值。
c2【i】用於暫時儲存c1【i】的值
程式碼:
#include<stdio.h>
#include<string.h>
int a[30];
int c1[55];
int c2[55];
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
int i,j,m;
for(i=1;i<=26;i++)
scanf("%d",&a[i]);
memset(c1,0,sizeof(c1));
memset(c2,0,sizeof(c2));
c1[0]=1;
for(i=1;i<=26;i++)
{
for(j=0;j<=50;j++)
{
for(m=0;m<=a[i]&&j+m*i<=50;m++)
{
c2[j+m*i]+=c1[j];
}
}
for(j=0;j<=50;j++)
{
c1[j]=c2[j];
c2[j]=0;
}
}
int sum=0;
for(i=1;i<=50;i++)
{
sum+=c1[i];
}
printf("%d\n",sum);
}
return 0;
}