onmywaying

不困于情,不畏于心

poj 2063 Investment

完全背包的变形操作


#include<iostream>
#include<string.h>
#include<math.h>
#include<fstream>
#include<algorithm>
#include<stdio.h>
#include<queue>
#include<vector> 
#define MAXSIZE 100
using namespace std;
int N = 0, original = 0, years = 0;
int value[11], interest[11], d = 0; 
int dp[200010];
int ans = 0;
int main()
{
    //freopen("data_2063.txt","r",stdin);
    scanf("%d", &N);
    while(N--)
    {
        ans = 0;
        memset(dp, 0, sizeof(dp));
        scanf("%d%d", &original, &years);
        scanf("%d", &d);
        for (int i = 0; i < d; i++)
        {
            scanf("%d%d", &value[i], &interest[i]);
            value[i] /= 1000;
        }
        ans = original;
        for (int i = 0; i < years; i++)
        {
            memset(dp, 0, sizeof(dp));   
            original = ans / 1000;
            for (int j = 0; j < d; j++)
            {
                for (int k = 0; k <= original; k++)
                {
                    if (k >= value[j])
                    {
                        dp[k] = max (dp[k], dp[k - value[j]] + interest[j]);
                    }
                }
            }
            ans += dp[original];
        }
        printf("%d\n", ans);
    }
    return 0;
}




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013486906/article/details/46794859
个人分类: 动态规划
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

poj 2063 Investment

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭