(ssl 2293)暗黑游戏
2017-12-16 09:56
141 查看
Description暗黑游戏中,装备直接决定玩家人物的能力。可以使用Pg和Rune购买需要的物品。暗黑市场中的装备,每件有不同的价格(Pg和Rune)、能力值、最大可购买件数。Kid作为暗黑战网的一个玩家,当然希望使用尽可能少的Pg和Rune购买更优的装备,以获得最高的能力值。请你帮忙计算出现有支付能力下的最大可以获得的能力值。
分析:Pg和Rune说明要支付两种费用(二维费用背包)。
分析:Pg和Rune说明要支付两种费用(二维费用背包)。
#include <cstdio> using namespace std; int n,sp,sr,p[151],r[151],s[151],m[151],f[101][101]; int main(){ scanf("%d%d%d",&n,&sp,&sr); for (int i=1;i<=n;i++) scanf("%d%d%d%d",&p[i],&r[i],&s[i],&m[i]); for (int i=1;i<=n;i++)
if (s[i]) //多重背包
for (int y=1;y<=s[i];y++) //数量 for (int j=sp;j>=0;j--) //01背包 for (int k=sr;k>=0;k--){ //01背包 int t1=j+p[i]; int t2=k+r[i]; if (t1>sp) continue; //不够钱重新枚举 if (t2>sr) continue; //the same if (f[t1][t2]<f[j][k]+m[i]) f[t1][t2]=f[j][k]+m[i]; //求最大值 } else for (int j=0;j<=sp;j++) //完全背包 for (int k=0;k<=sr;k++){ //完全背包 int t1=j+p[i]; int t2=k+r[i]; if (t1>sp) continue; //the same if (t2>sr) continue; // the same if (f[t1][t2]<f[j][k]+m[i]) f[t1][t2]=f[j][k]+m[i]; //求最大值 } printf("%d",f[sp][sr]); return 0; }
相关文章推荐
- SSL_2293--暗黑游戏(动规练习题)
- (ssl2293)暗黑游戏
- SSL 1028——数字游戏
- 战略游戏_ssl1230_树形dp
- Game 迷城的国度 Next(类似暗黑的游戏)
- SSL1585 取数游戏(递归)
- Game 迷城的国度 Next(类似暗黑的游戏)
- SSLZ-YC 游戏
- SSL_2340 格子游戏
- SSL 2293——暗黑游戏
- 一个你所不知道的暗黑游戏圈
- SSL 1231 容易的网络游戏
- 4000 SSL、vijos||容易的网络游戏(normal)
- SSL2705 2017年8月17日提高组T1 游戏(math+二分)
- TA游戏推荐:暗黑神作 《万神之怒EX》
- SSL-ZYC 游戏
- 暗黑3补钉2.4前瞻:套装与物品更新-暗黑损坏神3专区-新浪游戏
- Facebook游戏在服务器端关于SSL的相关配置
- SSL JudgeOnline 1786——麻将游戏
- 信息学奥赛一本通 1347 SSL 2340 格子游戏