简单的钱币兑换问题,就是钱的种类多了一点,完全背包。
#include<cstdio>
#include<cstring>
int main ()
{
int i,j,dp[];
memset(dp,,sizeof(dp));
dp[]=;
for(i=; i<=; i++)
for(j=i; j<=; j++)
dp[j]+=dp[j-i];
while(~scanf("%d",&i))
printf("%d\n",dp[i]);
return ;
}
简单的钱币兑换问题,就是钱的种类多了一点,完全背包。
#include<cstdio>
#include<cstring>
int main ()
{
int i,j,dp[];
memset(dp,,sizeof(dp));
dp[]=;
for(i=; i<=; i++)
for(j=i; j<=; j++)
dp[j]+=dp[j-i];
while(~scanf("%d",&i))
printf("%d\n",dp[i]);
return ;
}