#include <iostream>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <string>
#include <string.h>
#include <stdio.h>
#include <cmath>
#include <map>
#include <functional>
#include <set>
using namespace std;
//1455 非二进制划分版本
int dp[101],pri[101],wei[101],cnt[101];
int C,n,m,p,h,c;
int main(){
//freopen("input.txt","r",stdin);
while(cin>>C){
while(C--){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>p>>h>>c;
pri[i]=p; wei[i]=h; cnt[i]=c;
}
for(int i=0;i<n+1;i++)
dp[i]=0;
for(int i=1;i<=m;i++){
for(int k=1;k<=cnt[i];k++){
for(int j=n;j>=pri[i];j--){
dp[j]=max(dp[j],dp[j-pri[i]]+wei[i]);
}
}
}
cout<<dp[n]<<endl;
}
}
return 0;
}
/**************************************************************
Problem: 1455
User: cust123
Language: C++
Result: Accepted
Time:10 ms
Memory:1520 kb
****************************************************************/
题目1455:珍惜现在,感恩生活
最新推荐文章于 2019-01-08 04:04:31 发布