HDU 1284 钱币兑换问题

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;

const int maxn=32768+10;
long long DP[maxn];

int main()
{
    int n;

    int i,j;
    DP[0]=1;
    for(i=1;i<=32768;i++) DP[i]=DP[i-1]+DP[i];
    for(i=2;i<=32768;i++) DP[i]=DP[i-2]+DP[i];
    for(i=3;i<=32768;i++) DP[i]=DP[i-3]+DP[i];
    while(~scanf("%d",&n))
    {
        printf("%lld
",DP[n]);
    }
    return 0;
}
原文地址:https://www.cnblogs.com/zufezzt/p/4646620.html