HDU 1248(寒冰王座)基础完全背包

求小费最小,那就是求花费钱最多

完全背包

代码:

#include
#include

int dp[10010];
int n;

int Max(int a,int b)
{
    return a>b?a:b;
}

int main()
{
    int i,j;
    int a[10];
    int T;
    scanf("%d",&T);
    while(T--)
    {
        a[0]=150,a[1]=200,a[2]=350;
        memset(dp,0,sizeof(dp));
        scanf("%d",&n);
        for(i=0;i<3;i++)
        {
            for(j=a[i];j<=n;j++)
            {
                dp[j]=Max(dp[j-a[i]]+a[i],dp[j]);
            }
        }
        printf("%d\n",n-dp[n]);
    }
    return 0;
}


你可能感兴趣的:(HDU,OJ题,动态规划)