直接背包九讲的公式套用
把Max改成Sum
代码:
#include<stdio.h>
#include<string.h>
int dp[32999];
int main()
{
int n,i,j;
int a[10];
while(scanf("%d",&n)!=EOF)
{
a[0]=1,a[1]=2,a[2]=3;
memset(dp,0,sizeof(dp));
dp[0]=1;
for(i=0;i<3;i++)
{
for(j=a[i];j<=n;j++)
{
dp[j]=dp[j]+dp[j-a[i]];
}
}
printf("%d\n",dp[n]);
}
}