求投资k年获得最大投资,每年都选最大利息的方案进行投资k年后就可以得到最多的人民币。
/*********************
* Author:fisty
* Data:2014-11-22
* poj2063
* 完全背包
* ********************/
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int c[15], v[15];
int dp[10000000];
int main(){
int t;
scanf("%d", &t);
while(t--){
int sum , k, n;//n一共增长的年数,k为债券的种类
scanf("%d%d", &sum, &n);
scanf("%d", &k);
for(int i = 0;i < k; i++){
scanf("%d%d", &v[i], &c[i]);
v[i] /= 1000;
}
for(int cnt = 0;cnt < n; cnt++){
int val = sum / 1000;
memset(dp, 0, sizeof(dp));
for(int i = 0;i < k; i++){
for(int j = v[i];j <= val; j++){
dp[j] = max(dp[j], dp[j-v[i]] + c[i]);
}
}
sum += dp[val];
}
printf("%d\n", sum);
}
return 0;
}