一个小型的游戏机被蝈蝈翻了出来,里面一个《蝈蝈的魔塔》游戏映入眼帘。游戏规则很简单,给一张n*n的魔塔地图,勇者可以往上下左右四个方向走,只要让勇者从左上角走到右下角就算通关。
地图中由这些元素构成:
① . 表示平地,可以通过
② # 表示障碍物,无法通过
③ + 表示红血瓶, 吃了能提高生命值150点
④ < 表示红水晶,吃了能提高攻击力50点
⑤ > 表示蓝水晶,吃了能提高防御力50点
⑥ = 表示圣剑,穿戴之后提高攻击力200点
⑦ | 表示圣盾,穿戴之后提高防御力200点
⑧ : 表示小怪,血量100点,攻击力80点,防御力20点
⑨ ! 表示精英小怪,血量300点,攻击力150点,防御力150点
⑩ ? 表示Boss,血量500点,攻击力250点,防御力250点
勇者初始血量为200,攻击力为50,防御力为50。现在蝈蝈想问你,勇者是否能通关游戏?
注:
1、道具、装备及野怪不会再次生成,消耗了之后就会变成平地
2、一个地方可以多次经过
3、与野怪的战斗规则为回合制,勇者先手,对敌方造成的伤害为勇者攻击力-敌方防御力,敌方后手同理,直到一方血量≤0为止
4、每次战斗如果超过50回合,则会判勇者负,双方均出手一次算一回合
5、战斗结束后勇者的血量不会回复,除非吃红血瓶
6、如果勇者在战斗中失败,则整个游戏失败
7、保证左上角和右下角初始均为平地
第一行一个整数n,表示地图大小(2 ≤ n ≤ 4)
接下来 n 行字符串,每行 n 个字符,表示地图
如果勇者能通关游戏,则输出“YES”,否则输出“NO”
4 .:=# .#:< >#+? !|#.
YES tip: 初始血量200,攻击力50,防御力50 1、先吃(3,1)的蓝水晶,防御力+50, 此时血量200,攻击力50,防御力100 2、无伤打掉(1,2)的小怪,穿戴(1,3)的圣剑,攻击力+200,再无伤打掉(2,3)的小怪,吃掉(3,3)的红血瓶,血量+150,再吃掉(2,4)的红水晶,攻击力+50 此时血量350,攻击力300,防御力100 3、回到(4,1)与精英小怪战斗,血量-50,再穿戴(4,2)的圣盾,防御力+200 此时血量300,攻击力300,防御力300 4、因为防御力300高于Boss的攻击力250,所以无伤迎战(3,4)的Boss,最终以最优状态到达(4,4)通关游戏 此时血量300,攻击力300,防御力300