赞
踩
通过:1/3
#include <iostream> #include<iomanip> #include <cstring> using namespace std; int main() { //案例数 int kase; long long dp[10001];//背包 int Ai[10001];//成就数值 int Bi[10001];//花费时间 int n,x;//游戏数,总时间 scanf("%d", &kase); while(kase--) { memset(dp,0,sizeof(dp));//数组清0 scanf("%d %d", &n, &x); for(int i = 0; i < n; i++ ) cin>>Ai[i]>>Bi[i]; //背包问题 for(int i = 0; i < n; i++ ) for(int j = x; j >= Bi[i] ; j-- ) dp[j] = max(dp[j],dp[j-Bi[i]] + Ai[i]); cout << dp[x] << endl; } return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。