哈吉蜂混烟撤离
题目背景
你是一名哈吉蜂(蜂医),在航天基地行动时成功出了非洲之心与火箭燃料,却被驻守在此的单三威虫盯上。你需要利用地形、烟雾弹以及双层迷宫的地形优势,躲避威龙追击,在撤离区域停留足够时间完成撤离。
题目描述
地图为双层迷宫,分为 1 层、2 层,每层均为
n行 m列。
“.” 代表空地,可正常行走;“# ”代表障碍物,无法通行。
仅坐标
(2,3)
、
(4,5)
两个位置可在 1 层与 2 层之间往返,跨层移动耗时 1 秒。
1 层的威龙无法攻击、侦测到 2 层区域。
角色移动规则
你的角色每秒必须移动一格,可向上下左右四个方向行走,禁止原地停留。
仅在指定点位可跨层,其余位置无法切换楼层。
烟雾弹规则
烟雾为单列连续 3 格区域,可布置在 1 层或 2 层。
角色可进入烟雾区域,烟雾能完全阻挡威龙的视线。
烟雾存在时长固定为 3 秒,超时后自动消失。
威龙规则
威龙始终在1 层活动,不会前往 2 层;初始位置为 1 层撤离点。
威龙每秒会尝试向你的方向移动一格,若目标位置是障碍物或超出地图边界,则随机选择其他可行方向;四周均无法移动时则原地停留。
以威龙当前位置为中心,存在2×2 索敌范围。若你进入该范围,且未被烟雾遮挡视线,会直接被发现,撤离失败。
撤离判定规则
撤离点位于 1 层,以撤离点为中心的3×3 区域为有效撤离范围。
特殊点位:2 层的
(2,2)
、
(2,4)
两个位置,视同处于撤离有效范围内。
撤离要求:你需要持续停留在撤离有效范围内满 3 秒,期间全程不被威龙侦测到,即可成功撤离。
输入格式
第一行输入两个整数
n,m
,分别代表单层迷宫的行数、列数。
第二行依次输入六个整数:
layer_s,sx,sy,layer_f,fx,fy
。
layer_s,sx,sy
:你的初始楼层、初始坐标(坐标从 1 开始计数)。
layer_f,fx,fy
:撤离点所在楼层、撤离点坐标(本题撤离点固定在 1 层)。
接下来依次输入1 层迷宫、2 层迷宫:每层共
n
行,每行
m
个字符,描述当前楼层地形。
输出格式
若可以成功安全撤离,输出 YES;否则输出 NO。
样例输入
样例输出
补充说明
所有坐标、楼层编号均从 1 开始。
每一秒的执行顺序:角色移动 → 威龙移动 → 烟雾计时刷新 → 索敌 & 撤离状态判定。
撤离计时仅在角色处于有效撤离范围且未被侦测时累计,中断后计时清零。
豆包神力!发力!