U467406 废墟图书馆

题目背景

你说得对,但是废墟图书馆是一款由 project moon 自主研发的一款卡牌战略游戏,在这里,你将在不断击败敌人的过程中,探寻“二五仔”的秘密...... zjw806903 正在玩 library of ruina(盗版)。 可是他太菜了,打不过罗兰,于是请你来帮他。 现在,罗兰将在下一回合使用大招,把 zjw806903 的尸山红姐秒掉,请你帮助 zjw806903 制定胜率最高的方案。

题目描述

这里是**亿**些设定 ### 1. 骰子 #### 1.1 骰子的说明 在这里,每颗骰子都会投出点数范围内的随机点数(概率相等) 如一颗 $8$ 至 $14$ 的骰子就有 $1/7$ 的概率投出 $8,9,10...14$ 中的一个,这被称为**骰子基础值**。 由于游戏中有 buff 与 debuff,所以最终**战斗所用点数**可能会变化,它被称为**威力**。 ##### 1.1.1 拼点 在双方**都有骰子**时,触发拼点,点数大者拼点胜利,点数小者拼点失败,若点数相等则平局。 ##### 1.1.2 单方面攻击 在只有一方**有骰子**时,触发单方面攻击,攻击方将对受击方造成 $70\%$ 的伤害(还是会考虑抗性)。 #### 1.2 骰子类型 骰子有招架,闪避,斩击,穿刺,打击,反击六种类型。 进攻性包含穿刺,斩击,打击,防御性包含招架,闪避。 ##### 1.2.1 闪避 闪避骰子在攻击后会保留,除非对方当前书页已然没有骰子可拼点,此时将被摧毁,若中途任意一次拼点失败,该骰子会被摧毁。 拼点胜利时,回复自身骰子威力$\times 60\%$ 的血量。 拼点失败时,参照拼点对方的骰子效果。 ##### 1.2.2 招架 招架骰子在攻击后会自动摧毁,无论攻击成功与否。 若与进攻性骰子拼点,拼点胜利时,对对方造成(自身骰子威力-对方骰子威力) $\times 60\%$ 的伤害。 拼点失败时,对方对自身造成对方骰子威力 $-$ 自身骰子威力的伤害。 若与闪避骰子拼点,拼点胜利时,对对方造成(自身骰子威力-对方骰子威力)$\times 60\%$ 的伤害。 拼点失败时,参照拼点对方的骰子效果。 ##### 1.2.3 攻击型骰子 攻击型骰子在攻击后会自动摧毁,无论攻击成功与否。 拼点胜利时:造成自身骰子点数伤害(招架骰子除外,参考1.2.2。) 拼点失败时:参照拼点对方的骰子效果。 ##### 1.2.4 反击型骰子 反击骰子在攻击后会保留,除非对方当前书页已然没有骰子可拼点,此时将被摧毁,若中途任意一次拼点失败,该骰子会被摧毁。 反击骰子可以是上述五种骰子类型中的任意一种,除了骰子会保留外,其他地方并无不同。 ### 2.书页 #### 2.1 书页是什么 书页,你可以理解为以下几个部分组成: - 费用,表示使用这张书页需要花费多少。 - 作用,可能在书页的最前端,也可能在每个骰子后面。 - 骰子,可能有若干个,每个骰子可以攻击一次。 需要注意的是,只要两张书页发生了交战,那就不算单方面攻击,哪怕骰子数量不一样。 #### 2.2 书页的效果 ##### 2.2.1 书页起始 书页起始的效果由前缀,中缀与后缀构成。 前缀:战斗开始时,使用时 战斗开始时表示只要你用了这张书页,这个回合都有这个BUFF(或DEBUFF)。 使用时表示**使用这张书页时**用了这张书页,获得这个BUFF(或DEBUFF)。 中缀:我方获得,敌方获得,我方斩击骰子威力,我方穿刺骰子威力,我方打击骰子威力,我方招架骰子威力,我方闪避骰子威力,敌方斩击骰子威力,敌方穿刺骰子威力,敌方打击骰子威力,敌方招架骰子威力,敌方闪避骰子威力。 获得表示获得 BUFF 或 DEBUFF,威力表示威力增减。 后缀:强壮,易损,守护,虚弱,忍耐,破绽,$+x$,$-x$,增减无效。($x$ 为正整数) 后三项仅对应威力,前六项仅对应获得。 如一张书页的搭配是这样的:战斗开始时 自己斩击骰子威力 $+2$,表示本幕使用的所有书页中的斩击骰子威力 $+2$。 ##### 补充:BUFF or DEBUFF($x$ 为层数) 强壮:本幕所有进攻性骰子威力加 $x$。 虚弱:本幕所有进攻性骰子威力减 $x$。 守护:本幕受到的伤害 $-x$。 易损:本幕受到的伤害 $+x$。 忍耐:本幕所有防御性骰子威力加 $x$。 破绽:本幕所有防御性骰子威力减 $x$。 威力增减无效:无视所有 BUFF(或DEBUFF)对威力的影响。 ##### 2.2.2 书页骰子后方 书页可能有多个骰子,每个骰子后面都可以有一句话,以下列形式构成: 前缀 中缀 后缀 前缀:拼点胜利时,拼点失败时,拼点打平时,命中时。 需要注意的是,单方面攻击不算拼点。 中缀:(我方或敌方)获得,(我方或敌方)(进攻性骰子类型)威力,对敌方追加伤害,恢复血量,摧毁敌方书页所有骰子。 后缀:强壮,易损,守护,虚弱,忍耐,破绽,$+x$,$-x$,增减无效,$x$。($x$ 为正整数) 7,8,9 仅对应威力,前六项仅对应获得,最后一项仅对应对敌方追加伤害,恢复血量。 ### 3. 速度骰子 #### 3.1 速度骰子是什么 速度骰子你可以理解为一个数值,数值表示了这颗骰子的速度。速度高的速度骰子可以拦截速度低的速度骰子,每个速度骰子可以使用一张书页。 #### 3.2 如何拼点 拼点顺序以骰子速度为定,两者中速度较大者定义为这次拼点的速度,速度越大,越早拼点,若速度相同,以 zjw806903 的骰子编号越靠前,越早拼点。 ### 4. 抗性 双方对于三种伤害都有抗性,抗性是一个浮点数,表示受到 $1$ 点特定类型伤害时,会变成该类型伤害的抗性点伤害,如若一个人斩击抗性 $0.8$,则受到 $12$ 点斩击伤害时,只会扣除 $12 \times 0.8 =9.6$ 点伤害,需要注意的是,招架骰子的伤害无视抗性。 ### 对于所有后缀 若是增加BUFF类型,需在后面跟一个数 $x$,表示给予的层数。

输入格式

第一行:$h_1,h_2,l$,表示罗兰的血量,zjw806903 的血量,罗兰有 $l$ 颗骰子。 接下来 $l$ 行,每行两个数 $s_i,m_i$,表示每颗骰子的速度是 $s_i$,攻击目标是 zjw806903 的第 $m_i$ 颗骰子。 接下来有 $l$ 张书页,每张书页的格式见下。 第一行:骰子数 $n$,前缀,中缀,后缀。 第 $2$ 至 $n+1$ 行:骰子类型,骰子最小值 $mint$,骰子最大值 $maxt$,前缀,中缀,后缀,$x$。 骰子类型,前缀,中缀,后缀用数字表示,是几就表示第几个效果(与介绍的顺序相同),$x$ 表示后缀层数,若是 $0$ 表示无效果,若是威力增减无效,则无视 $x$。 接下来给出一行,仅有两个个数 $z,t$,表示 zjw806903 的书页数和骰子数。 接下来有 $z$ 张书页,格式同上。 接下来一行有 $t$ 个数,第 $i$ 个数表示第 $i$ 颗骰子的速度。 接下来给出两个数 $k,p$,表示罗兰的状态数与 zjw806903 的状态数。 接下来 $k$ 行,每行两个数 $v,j$,表示罗兰拥有第 $v$ 种状态,层数有 $j$ 层。 接下来 $p$ 行,每行两个数 $v,j$,表示 zjw806903 拥有第 $v$ 种状态,层数有 $j$ 层。 最后一行 $6$ 个数,分别表示罗兰的斩击,穿刺,打击伤害抗性,zjw806903 的斩击,穿刺,打击伤害抗性。

输出格式

第一行:`Yes` 或 `No`,表示 zjw806903 是否**有可能**胜利。 第二行:一个浮点数 $ans$,表示你给出的最大胜率,与答案相差不超过 $10^{-5}$ 即可。 接下来 $z$ 行,对于每一行,你需要给出 zjw806903 从左往右每个骰子使用书页的编号(从上到下为 $1,2,3...t$),与罗兰的哪个骰子拼点(单方面攻击为 $0$)。

说明/提示

### 样例解释1 第二张书页与罗兰的第一张书页拼点,第一张书页单方面攻击,伤害最少 $12.9$,完全可以击杀罗兰。 | 测试点编号 | 特殊性质 | 分值 | | -----------: | -----------: | -----------: | | subtask1 | A | 15 | | subtask2 | B | 10 | | subtask3 | AB | 10 | | subtask4 | C | 15 | | subtask5 | D | 10 | | subtask6 | 无 | 40 | 对于 $100\%$ 的数据: $1 \le n,k,p,l,z,t \le 6$ 保证罗兰与 zjw806903 自身状态互不重复。 $1 \le mint \le maxt \le 10^9$ $1 \le s_i,g_i,h_1,h_2 \le 10^9$ 保证书页赋予的状态合法。 特殊性质A:保证 $mint=maxt$。 特殊性质B:保证所有书页不会赋予状态。 特殊性质C:保证两个人没有任何状态。 特殊性质D:保证两人只有一颗速度骰子。