hdu 1028 DP 完全背包

题意:求组成数n的组合数

分析:动态规划,完全背包

#include <stdio.h>
#include <string.h>
#define re(i,n) for(int i=0;i<n;i++)
#define re1(i,n) for(int i=1;i<=n;i++)
#define re2(i,l,r) for(int i=l;i<r;i++)
#define re3(i,l,r) for(int i=l;i<=r;i++)
#define clr(x,y) memset(x,y,sizeof(x))
int dp[200] , n;
int main() {
    while(~scanf("%d",&n)) {
        clr(dp,0);
        dp[0] = 1;
        re1(i,n) re3(j,i,n) dp[j] += dp[j-i];
        printf("%d\n",dp[n]);
    }
    return 0;
}

posted @ 2012-07-12 22:22  lenohoo  阅读(198)  评论(0编辑  收藏  举报