暗黑破坏神(diablo)
【问题描述】
游戏的主人公有 n 个魔法,每个魔法分为若干个等级,第 i 个魔法有 p[i]个等级(不包
括 0),每个魔法的每个等级都有一个效果值,一个 j 级的 i 种魔法的效果值为 w[i,j],魔
法升一级需要一本相应的魔法书,购买魔法书需要金币,第 i 个魔法的魔法书价格为 c[i],
而小 x 只有 m 个金币。
你的任务就是帮助小 x 决定如何购买魔法书才能使所有魔法的效果值之和最大,开始时
所有魔法为 0 级 效果值为 0。
【输入格式】
第一行,用空格隔开的两个整数 n,m。
以下 n 行,描述 n 个魔法,第 i+1 行描述第 i 个魔法。 格式如下
c[i] p[i] w[i,1] w[i,2] … w[i,p[i]]
【输出格式】
第一行输出一个整数,即最大效果值。
以后 n 行输出你的方案:
第 i+1 行有一个整数 v[i] 表示你决定把第 i 个魔法学到 v[i]级
如果有多解,输出花费金币最少的一组如果还多解,输出任意一组
【输入输出样例】
diablo.in diablo.out
3 10
1 3 1 2 2
2 3 2 4 6
3 3 2 1 10
11
1
0
3
【数据规模】
0
#include<cstdio>
using namespace std;
int n,m,tot,c[1010],v[50010],w[50010],p[1010][500],f[52000],d[1010][510],road[1010];int max(int x,int y)
{
return x>y?x:y;
}int main()
{
freopen("diablo.in","r",stdin);
freopen("diablo.out","w",stdout); scanf("%d%d",&n,&m);
for (int i=1; i<=n; i++)
{ scanf("%d%d",&c[i],&p[i][0]);//p[i][0]第i种魔法有多少种
for (int j=1; j<=p[i][0]; j++)
{ int value;
scanf("%d",&value);
w[++tot]=j*c[i];
v[tot]=value;
p[i][j]=tot;//p[i][j]第i种魔法的第j个等级是第几种物品
}
}
for (int i=1; i<=n; i++)
for (int j=m; j>=0; j--)
for (int k=1; k<=p[i][0]; k++)
if (j-w[p[i][k]]>=0)
if (f[j]<f[j-w[p[i][k]]]+v[p[i][k]])
{ f[j]=f[j-w[p[i][k]]]+v[p[i][k]];
d[i][j]=k;//d[i][j]:第i种魔法花费的金币为j时的等级
}
printf("%d\n",f[m]);
//非递归的输出
int j; int maxn=0;
for (int i=m; i>=1; i--)
if (maxn<=f[i]) { maxn=f[i]; j=i; }//maxn<=f[i]是为了找到最大价值中所占体积最少的
for (int i=n; i>=1; i--)//倒序
{ road[i]=d[i][j];
j-=road[i]*c[i];
}
for (int i=1; i<=n; i++)
printf("%d\n",road[i]);
return 0;
}
/*
3 10
1 3 1 2 2
2 3 2 4 6
3 3 2 1 1011
1
0
3
*/
暗黑破坏神(diablo)相关推荐
- 游戏开发一般分为哪几类?
电子游戏发展至今,出现了许许多多的游戏类型,试分析总结如下: 1. ACT 动作游戏 ACT游戏讲究打击的爽快感和流畅的游戏感觉,其中日本CAPCOM公司出的动作游戏最具代表性.在2D系统上来说,应该 ...
- 清华大学 计算机课程,清华大学超算队再获双料世界冠军!首位女队长被教授称为绝对学霸,数学系课程全部4分还是跆拳道高手...
清华大学超算队,又一次获得了双料世界冠军! 日前,国际大学生超算竞赛(ISC21)总决赛结果公布,由清华大学计算机系本科生组建的清华大学学生超算团队夺得总冠军,同时取得LINPACK基准测试最高性能奖 ...
- Diablo(暗黑破坏神)的特效实现
http://candycat1992.github.io/2016/06/25/diablo/ 视频:GDC 2013 Diablo(暗黑破坏神),暴雪出品.演讲者是暴雪TA,额最后的QA环节听出来 ...
- 清华「暗黑破坏神」夺超算世界冠军,暨南大学首次参赛就跻身前三 | ISC21
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 明敏 鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 清 ...
- 暗黑破坏神(ssl 2295)
暗黑破坏神(ssl 2295) Description 无聊中的小x玩起了Diablo I... 游戏的主人公有n个魔法 每个魔法分为若干个等级,第i个魔法有p[i]个等级(不包括0) 每 ...
- 暴雪即将公布《暗黑破坏神3》新职业
暴雪10月份举办的第三届暴雪娱乐嘉年华会即将开幕,暴雪届时说不定会给我们来有关<暗黑3>的最新消息,事情刚好如我们所愿.近日暴雪在透露准备娱乐嘉年华会的事情的时候暗示了将在本届BlizzC ...
- 暗黑如何修改服务器爆率,暗黑破坏神百倍爆率补丁
这是一个<暗黑破坏神>百倍爆率补丁,暗黑破坏神2是一支动作RPG游戏, 但却不同于别类的动作游戏.首先,所有主角的动作操控,以及界面的设定,全部均可由一支鼠标负责,简易的操控是游戏的第一个 ...
- [gdc15]暗黑破坏神3:夺魂之镰的开发之路
gdc15,<暗黑破坏神3:夺魂之镰>的game director--josh mosqueira带来(但现在已经离开暴雪),非常精彩的presentation,墙裂推荐. 在gdcvau ...
- 事后分析:暴雪的暗黑破坏神 II【翻译】
原文章地址: Postmortem: Blizzard's Diablo II 文章阅读大约需要5-10分钟,了解暗黑破坏神II开发背后的故事. 正文: 暗黑破坏神发布后,我们花了大约三个月的时间来为 ...
最新文章
- 动手写一款简单的chrome天气插件
- 数据归一化matlab及python 实现
- linux中wait()系统调用的例子,linux进程管理之wait系统调用
- Java实训项目:GUI学生信息管理系统(2019)【下】
- 去掉超链接的颜色_Word中怎么快速批量删除去掉网站超链接技巧
- 如何战胜软件开发的复杂性?
- win10无限重启服务器,Win10 1909系统解决电脑无限重启的方法
- php k线公式源码,发个珍藏了N久的波浪主图公式(公式 指标 源码)(演示图)-其他软件公式 -程序化交易(CXH99.COM)...
- git具体作用_GIT的工作原理、功能特点及其运用
- iOS调用系统相机将英文改成中文
- day05-回归测试和验收测试
- 登录安全----双重MD5加密实现安全登录
- 智能在线客服是如何工作的?
- wordpress 服务器_如何将WordPress从本地服务器移动到实时站点(2种方法)
- linux为什么不需要磁盘碎片整理,Linux不用磁盘碎片整理原因分析.doc
- Ghost for Linux 出色的硬盘对拷工具(转)
- ie上svg的兼容问题
- uniapp 子组件 mounted 刷新
- mac 13.0 自动关机设置
- 记录kafka consumer 消费失败
热门文章
- 手机QQ,登陆不上去
- 实用Android框架
- unity基础(8)——3D场景添加音频
- 找出11-999间的回文数m,m方,m三次方均为回文
- python中 ab c 2结果是_python解释器执行'{0},{2},{1}'.format('a','b','c')的结果为( )。_学小易找答案...
- matplotlib 减少subplot空白
- 深圳Java培训:相伴java,感受spring
- arya-sites模块的主要类
- Neural Collaborative Filtering(NCF) 学习笔记
- python 获取国内期货_获取和讯期货数据(Python版本).md