描述:百度楼下有一块很大很大的广场。广场上有很多轮滑爱好者,每天轮滑爱好者们都会在广场上做一种叫做平地花式轮滑的表演。度度熊也想像他们一样在轮上飞舞,所以也天天和他们练习。

因为度度熊的天赋,一下就学会了好多动作。但他觉得只是单独的做动作很没意思,动作的组合才更有欣赏性。

平地花式轮滑(简称平花),是穿轮滑鞋在固定数量的标准桩距间做无跳起动作的各式连续滑行。度度熊表演的舞台上总共有N个桩,而他也从自己会的动作中挑出M最好看的。

但事情并没有这么简单。首先每个动作因为复杂度不同,所以经过的桩的个数也不尽相同。

然后,为了保持连贯性,有些动作是接不起来的,所以每个动作都有他前面能接的一个动作的列表。更有甚者,有的动作要考虑前两个动作才能确定是否能做出来。因此动作被分为三类:0型动作,无论前面是什么动作都能做出来,所以这种动作也能作为起始动作;1型动作,要考虑前面那个动作才能确定是否能接上;2型动作,要考虑前面两个动作才能确定是否能接上。

最后,评分也很复杂。每个动作有个单独得分,只要在表演过程中做了这个动作就能获得这个分数。有些动作的组合也非常好看,也会有相应的得分。不过要获得某个组合的得分就要在过程中完成这组组合中所有的动作,但是,这些动作既不要求按顺序完成也不要求连续完成。当然,大家不喜欢重复的动作,所以同一个动作和同一个组合不会获得两次得分。

举个例子,总共有10个桩,有以下几个动作:

动作1:0型,需要3个桩,得分5。

动作2:0型,需要4个桩,得分4。

动作3:1型,能接在动作1或者动作2后面,需要6个桩,得分10。

动作4:2型,要接在动作2+动作1后面,需要4个桩,得分30。

组合1:(动作1,动作2,动作4),得分15。

组合2:(动作1,动作3),得分10。

组合3:(动作2,动作3),得分5。

能配成的方案不少,但有这么几种方案是不行的:

1、动作2+动作1+动作4,虽然,动作4分数很多,而且1,2,4的组合还能额外获得15分。但是,这个方案总共要用4+3+4=11个桩,超过了总桩数,所以不行。

2、动作1+动作3,同样也完成了一个组合,也满足各个动作要求的限定条件。但是做完后,只过了9个桩,没有完成整个表演。这样度度熊会很尴尬的。所以这样的方案也不行。

最优方案应该是动作2+动作3,满足桩数要求,也满足各个动作前置限定条件。最后得分:单项动作14分+组合加分5分=19分。

虽然,度度熊一下就算出来自己应该怎么表演了。但是他还是想考考精通编程的你。

输入

一开始一个整数T(1 <= T <= 5),表示有T组数据,每个数据如下格式:

第一行有三个整数,N,M,P。分别表示桩数、动作数和组合数。

第二行M个0~2的整数,表示每个动作的类型。

第三行M个整数,表示每个动作需要使用的桩数。

第四行M个整数,表示每个动作单项的分数。

接下来P(P<=1024)行,每行描述一个组合。每行的前两个数X,Y,X表示组合中总共有X个动作,Y表示组合能获得的分数。后面接X个数,表示组合中包含的X个动作的编号。

再接下来分为M块,第i块描述第i个动作的前置条件。

若第i个动作是0型的,那么它没有前置条件。所以对应的块是一个空行。

若第i个动作是1型的,对应的块是一个M的01序列。若这个序列是Aj的话,Aj=1表示动作i可以接在动作j后面。

若第i个动作是2型的,对应的块是一个MxM的01矩阵。若这个序列是Aj,k的话,Aj,k=1表示动作i可以接在动作j+动作k后面。

输出

对于每个数据,输出包含一个整数,表示度度熊能获得的最高分数。

样例输入

1

10 4 3

0 0 1 2

3 4 6 4

5 4 10 30

3 15 1 2 4

2 10 1 3

2 5 2 3

1 1 0 0

0 0 0 0

1 0 0 0

0 0 0 0

0 0 0 0

样例输出

19

提示

保证至少有一个方案满足要求。

对于100%的数据,1≤N≤100,1≤M≤10,所有分数之和在32位有符号整数范围之内。每个动作至少需要过1个桩。

代码:

【2012百度之星/初赛上】D:轮子上的度度熊相关推荐

  1. 【2012百度之星/初赛上】B:小小度刷礼品

    描述:一年一度的百度之星又开始了,这次参赛人数创下了吉尼斯世界纪录,于是百度之星决定奖励一部分人:所有资格赛提交ID以x结尾的参赛选手将得到精美礼品一份. 小小度同学非常想得到这份礼品,于是他就连续狂 ...

  2. 【2012百度之星/初赛上】A:度度熊就是要第一个出场

    描述:Baidu年会安排了一场时装秀节目.N名员工将依次身穿盛装上台表演.表演的顺序是通过一种"画线"抽签的方式决定的. 首先,员工们在一张白纸上画下N条平行的竖线.在竖线的上方从 ...

  3. 【2012百度之星/初赛上】C:集合的交与并

    对于一个闭区间集合{A1,A2--AK}(K>1,Ai≠Aj{i≠j}),我们定义其权值 其中|X|表示X区间的长度:如果X为空集|X|=0. 当然,如果这些闭区间没有交集则权值为0. 给定N个 ...

  4. 【2012百度之星/初赛下】C:度度熊的礼物

    描述:度度熊拥有一个自己的Baidu空间,度度熊时不时会给空间朋友赠送礼物,以增加度度熊与朋友之间的友谊值.度度熊在偶然的机会下得到了两种超级礼物,于是决定给每位朋友赠送一件超级礼物.不同类型的朋友在 ...

  5. 【2012百度之星/初赛下】B:网页聚类

    描述:有N(N2+ (y_j-y_i)2 + (z_j-z_i)2.请求出最大的t,使得N个网页可以聚成K类,其中每个类至少包含一个网页,且任意两个位于不同类中网页的相似度都至少为t. 输入 第一行包 ...

  6. 【2012百度之星/初赛下】A:度度熊就是要刷排名第一

    描述:一天度度熊在Baidu游戏大厅中发现了一个隐藏的神奇游戏,叫做"度度熊的逆袭".度度熊很好奇到底是什么情况,于是就进入了游戏.这个游戏很神奇,游戏会给出n个数Ai,度度熊可以 ...

  7. 2012百度之星冬季赛第二场第二题 消去游戏I

    2012百度之星冬季赛第二场第二题 消去游戏I 题目: Alice和Bob又开始发明新游戏了,这回的名字叫消去游戏. 消去游戏的道具是一堆排成一行的积木,每个积木上面都有一个数字Ai.同时游戏也需要M ...

  8. 2021百度之星初赛二(1001 -- 1003)

    2021百度之星初赛二(1001 – 1003) 1001 题意: 给 a,b,每次 a,b会变为 a+b,a-b,问 k 次之后变成了哪两个数,对 998244353998244353 取模,多组数 ...

  9. 2016百度之星 - 初赛(Astar Round2A)解题报告

    此文章可以使用目录功能哟↑(点击上方[+]) 有点智商捉急,第一题卡了好久,看来不服老,不服笨是不行的了...以下是本人目前的题解,有什么疑问欢迎提出 链接→2016"百度之星" ...

最新文章

  1. Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理
  2. LeetCode-数组-54. 螺旋矩阵
  3. 为什么说嵌入式开发比单片机要难很多?
  4. 天地一体化信息网络发展与拟态技术应用构想
  5. Redis系列教程(六):Redis缓存和MySQL数据一致性方案详解
  6. redis 学习笔记一
  7. Android 系统(182)---Android.mk的用法和基础 amp;amp; m、mm、mmm编译命令
  8. 编辑距离算法(C#版本)
  9. 主播助理的三种常见工作类型
  10. MDK代码格式化工具
  11. 产品经理/总监 面试题及答案
  12. iphone电脑wifi连接服务器未响应,苹果wifi连接不上怎么回事_苹果电脑连接不上wifi的解决步骤-win7之家...
  13. 靖江最正宗过年习俗 只有3%的人完全继承下来了
  14. 1. 微信公众号申请
  15. 数据库管理系统的层次结构--语言处理层
  16. 微型计算机室内太干燥,暖气屋里太干燥怎么办 七种方法增加室内湿度
  17. UPC10544: 凉宫春日的叹息
  18. 进入IT互联网行业一定要报培训班嘛?
  19. 【书籍翻译笔记】Next Generation Wireless LANs 802.11n and 802.11ac: Chapter1
  20. java游戏教程--音频添加

热门文章

  1. 美术师关于自己的报酬与工作的看法
  2. 游戏中的颜色:深度解析游戏设计工具
  3. 《尼山萨满》项目美术亲述游戏创作过程
  4. 超全干货 | 软件测试岗技术笔试
  5. start 与 run 区别
  6. 使用SecureCRT录制自动脚本
  7. oracle 11gR2 RAC root.sh 错误 ORA-15072 ORA-15018
  8. Linux Shell 通配符、元字符、转义符使用实例介绍
  9. Tomcat可运行源码资源分享
  10. MySQL内存管理,内存分配器和操作系统