6025. 大胖子走迷宫

【问题描述】

    小明是个大胖子,或者说是个大大胖子,如果说正常人占用 1 × 1 的面积,小明要占用 5 × 5 的面积。

    由于小明太胖了,所以他行动起来很不方便。当玩一些游戏时,小明相比小伙伴就吃亏很多。

    小明的朋友们制定了一个计划,帮助小明减肥。计划的主要内容是带小明玩一些游戏,让小明在游戏中运动消耗脂肪。走迷宫是计划中的重要环节。

    朋友们设计了一个迷宫,迷宫可以看成是一个由 n x n 个方降组成的方阵,正常人每次占用方阵中 1 × 1 的区域,而小明要占用 5 × 5 的区域。小明的位置定义为小明最正中的一个方格。迷宫四周都有障碍物。

    为了方便小明,朋友们把迷宫的起点设置在了第 3 行第 3 列,终点设置在了第 n - 2 行第 n - 2 列。

    小明在时刻 0 出发,每单位时间可以向当前位置的上、下、左、右移动单位 1 的距离,也可以停留在原地不动。小明走迷宫走得很辛苦,如果他在迷宫里面待的时间很长,则由于消耗了很多脂肪,他会在时刻 k 变成一个胖子,只占用 3 × 3 的区域。如果待的时间更长,他会在时刻 2k 变成一个正常人,只占用 1 × 1 的区域。注意,当小明变瘦时迷宫的起点和终点不变。

    请问,小明最少多长时间能走到迷宫的终点。注意,小明走到终点时可能变瘦了也可能没有变瘦。


【输入形式】

    输入的第一行包含两个整数 n,k。

    接下来 n 行,每行一个由 n 个字符组成的字符串,字符为 + 表示为空地,字符为 * 表示为阻碍物。


【输出形式】

    输出一个整数,表示答案。


【样例输入】

9 5
+++++++++
+++++++++
+++++++++
+++++++++
+++++++++
***+*****
+++++++++
+++++++++
+++++++++


【样例输出】

16


【评分标准】

    对于 30% 的评测用例,1 ≤ n ≤ 50。

    对于 60% 的评测用例,1 ≤ n ≤ 100。

    对于所有评测用例,1 ≤ n ≤ 300,1 ≤ k ≤ 1000。


难度等级: 0
总通过次数: 1
总提交次数: 5
  • 历届真题
蓝桥杯2019国赛A组2019国赛B组2019国赛C组