首页 新闻 会员 周边 捐助

求助朋友出的题

0
悬赏园豆:100 [待解决问题]

求这道题正解
https://www.luogu.com.cn/problem/U240696

居合斩

题目背景

$chinuya$正在玩一款名叫元气骑士的游戏。

题目描述

$chinuya$操纵的角色叫做小游侠,他一开始面朝下方。

我们可以把一个关卡看作一个$m $行$n$列的表格。其中有这几种区域:

$* :$表示普通的草地,没有任何功能。

$# :$表示不可击破障碍物。人物不能在上面通过。

$@ :$表示可击破障碍物。当其受到大于或等于1的伤害时就会破碎,变成草地。否则人物无法通过。

$Y:$小游侠一开始所在的位置。

$a$~$z$:关卡传送门。

数字:表示当前位置怪物的生命。如果一只怪物生命为0,则它无法对小游侠造成威胁。

小游侠每秒选择四种方式之一
$1$、可以向上下左右四个方向之一的方向移动一个格,并向这个方向发出一次攻击。攻击第一个接触的目标将会受到一点伤害

$2$、小游侠还可以使用技能——居合斩,向上下左右四个方向之一瞬间移动3格(如果碰到不可击破障碍物或边缘则会被迫停止)并面朝该方向,并且对经过的物体造成三点伤害。此时,小游侠处于无敌状态。这个技能使用5秒过后才可再次使用(如第一秒使用后,需要第六秒才能再使用)。

$3$、停止不动,可以向目前面对的方向发出一次攻击。攻击第一个接触的目标将会受到一点伤害

$4$、面向上下左右四个方向之一。

注意: 以上四种操作都需要$1$秒钟时间执行。

因为小游侠很害怕,所以他不能靠近以怪物为中心的九宫格内。

现在给出这个关卡,请输出小游侠最少在第几秒可以到达传送门(格子不可以重复走)。如果不能到达,则输出“-1”。

输入格式

第$1$行:两个整数$m$,$n$,表示有一个$m $行$n$列的方阵。

第 $2$~ $m+1$行,一个$m $行$n$列的方阵。表示该关卡。

输出格式

仅$1$行,一个整数,表示小游侠最少在第几秒可以到达传送门(格子不可以重复走)。如果不能到达,则输出“-1”。

样例 #1

样例输入 #1

3 3
Y # 5
@ * #
1 * a

样例输出 #1

3

样例 #2

样例输入 #2

5 2
Y 3 
* *
* *
* *
* h

样例输出 #2

-1

提示

对于样例$1$:

第$1$秒:小游侠使用居合斩向下移动两格,打破沿途的障碍物,消灭怪物,此时技能被迫停止。

第$2$秒:向右移动一格。

第$3$秒:向右移动一格,到达传送门。

对于样例$2$:

小游侠在第一秒就会牺牲。

数据范围与规定:

1<=m,n<=10。

怪物的生命<=3。

数据保证存在且仅存在$1$个传送门和小游侠初始位置,不保证存在怪物、草地和障碍物。

bfs
痴弩的主页 痴弩 | 初学一级 | 园豆:102
提问于:2022-08-22 22:47

这个朋友是不是你的老师?

会长 2年前

@会长: 哈哈你怎么知道

痴弩 2年前
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册