c++ 第一题玩游戏 #include <vector> #include <iostream> using namespace std; class solution{ public:     int maxValue(vector<int>& v,vector<int>& w,int c)     {         if (v.empty())  return 0;         vector<int> dp(c+1,-1);         for(int j=0; j<=c; ++j){             dp[j] = j>=w[0]?v[0]:0;         }         for(int i=1; i<v.size(); ++i){             for(int j=c; j>=w[i]; --j){                 dp[j] = max(dp[j],v[i]+dp[j-w[i]]);             }         }         cout<<dp[c];         return dp[c];     } }; int main() {     int T;          //总case数目      cin>>T;     solution s;     for(int i=0; i<T; ++i){         int N,X;         cin>>N>>X;         int A,B;         vector<int> v;//成就         vector<int> w;//时间         for(int j=0; j<N; ++j){             cin>>A>>B;             v.push_back(A);             w.push_back(B);          }         s.maxValue(v,w,X);     }                return 0; }
点赞 评论
牛客网
牛客网在线编程
牛客网题解
牛客企业服务