T503394 「Steve_OI」Fighting_In_Starrail

题目背景

小宝爱玩崩铁

题目描述

该游戏包含以下要素: 三种基本要素:攻击力、防御力、击破特攻(指在击破敌方韧性后,再攻击所造成的加伤,单位: % ) 七种属性:物理、火、风、雷、冰、虚数、量子,**其中不存在任何相生相克** 三种攻击类型: **单攻(表示为1)**:对敌方被选中的单体造成 **攻击力×200%** 的伤害(若敌方已被击破,额外再乘以击破特攻,下同) **群攻(表示为2)**:对敌方全体造成**攻击力×120%** 的伤害 **扩散(表示为3)**:对敌方被选中的单体造成 **攻击力×150%** 的伤害,并对其相邻单位造成 **攻击力×70%** 的伤害(若其没有 **左相邻/右相邻/左右相邻** 的单位,则视为仅攻击了 $1$ 个目标,造成 **攻击力×150%** 的伤害) 现在需要你给定我方的属性、攻击类型、攻击力、击破特攻、攻击目标和敌方的防御力、弱点(可能不止一个弱点), **求**:玩家最终可以造成的最大伤害以及我方造成最大伤害的单位(编号),敌方受到最大伤害的单位(编号)。

输入格式

第一行包含两个整数 $N$ 和 $M$,分别表示我方单位数和敌方单位数 接下来$N$行,每行 4 个数据,第 $i$ 个数据表示第 $i$ 个角色的 **属性$p$/攻击类型$k$/攻击力$atk$/击破特攻$s$** 接下来 $M+1$ 行: 第一行共 $M$ 个数据,第 $i$ 个数据表示第 $i$ 个敌方单位的 **防御力$dfs$** 后面 $M$ 行,第 $i$ 行表示第 $i$ 个敌方单位的 **所有弱点**,其中 **h**代表**火**,**b**代表**冰**,**f**代表**风**,**l**代表**雷**,**wl**代表**物理**,**lz**代表**量子**,**xs**代表**虚数**,**弱点总数不超过三个** 最后输入 $0$ ,代表输入结束

输出格式

输出三个整数,分别表示玩家最终可以造成的最大伤害,我方造成最大伤害的单位(编号),敌方受到最大伤害的单位(编号)。

说明/提示

【数据范围】: 1 $\leq N \leq$ 4 1 $\leq M \leq$ 5 1 $\leq atk \leq$ 20000 1 $\leq dfs \leq$ 1000 【说明】: 1.由于需要随机数,不考虑攻击类型**弹射** 2.若设角色攻击类型所加成的 **伤害倍率(单位:%)** 为 **$x$** ,则敌方受到伤害 $y$ 的计算公式: $y = (atk × x) - dfs$(非击破状态) $y = (atk × x ×s)- (dfs/2)$(击破状态) ## 提示:用map