您的位置:首页 > 其它

HDU 1284(钱币兑换问题)完全背包求方案总数

2015-08-07 14:38 344 查看
直接背包九讲的公式套用

把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
);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息