思路:动态规划的背包问题。建立二维数组dp[i][j]表示前i个物品不超过j时采到的草药的最大总价值。dp[i][j]=max(dp[i-1][j],dp[i-1][j-V[i]]+V[i]*W[i]) 特殊情况:当j<v[i]时,dp[i][j]=dp[i-1][j]。注意:可以不用初始化,当申请的数组为全局数组,不赋值默认值为0; #include "iostream" using namespace std; int V[101]; int W[101]; int dp[101][1001]; int main() { int T,n,i,x; cin>>T>&g...