蝈蝈的魔塔

TimeLimit:1000MS  MemoryLimit:64MB
64-bit integer IO format:%lld
未提交 | 登录后收藏
Problem Description

一个小型的游戏机被蝈蝈翻了出来,里面一个《蝈蝈的魔塔》游戏映入眼帘。游戏规则很简单,给一张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、保证左上角和右下角初始均为平地

Input

第一行一个整数n,表示地图大小(2 ≤ n ≤ 4)

接下来 n 行字符串,每行 n 个字符,表示地图

Output

如果勇者能通关游戏,则输出“YES”,否则输出“NO”

SampleInput
4
.:=#
.#:<
>#+?
!|#.
SampleOutput
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
Submit
题目统计信息详细
总AC数3
通过人数3
尝试人数3
总提交量3
AC率100.00%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: