即便「假面愚者」也会严肃地歌颂他们追随的星神——因为祂永远不会放弃你,永远不会令你沮丧,永远不会抛弃你,永远不会让你哭,永远不会同你道别,永远不会用谎言伤害你。
艾斯·里克利,艾普瑟隆 Ⅻ 星系流行巨星
在"黄金的时刻",爱德华医生的梦境贩售店总是门庭若市。此刻,他正向星和流萤推销一枚特殊的梦泡:"我想您一定会喜欢这枚梦泡。它来自私人匿名捐赠,据说其中的记忆……属于一位星神!我可以向您保证,这绝对是独一无二的体验。"
星再次睁开眼时,失重感瞬间袭来,随即狠狠地摔在了地上。好在梦境中没有痛觉,但同行的流萤却不见踪影。环顾四周,星发现自己身处一座光怪陆离的迷宫之中。
这里的空气似乎充满了粘稠的"忆质",如同深潜于万米水下,周遭充满了高阻尼的流体感。 顺势而行尚且轻松,但每一次试图改变前进方向,都仿佛要对抗巨大的流体阻力,极大地消耗体力和时间。为了尽快与流萤汇合,星必须规划出一条转向次数最少的路径,以最高的效率穿过迷宫。
世界之外的你决定协助星突破这层梦境。
形式化地,我们将迷宫视为一个 行
列的网格地图。地图中分布着若干不可通行的障碍物地块,其余为平地。
星的起始位置位于迷宫左上角
,流萤位于右下角
。
最开始星位于 ,此时初始朝向未定。她迈出的第一步将决定她的初始前进方向,且这一步不计入转向次数。
当星处于某个地块时,她可以选择沿当前前进方向继续移动到相邻的非障碍地块,这种移动顺应惯性,不增加转向计数。
星可以选择向当前方向的左侧或右侧(即旋转 )移动到相邻地块。由于克服流体阻力,该行为被记为一次转向。
星不会进行掉头(即旋转 ),并且星可以以任意前进方向一次或多次经过同一非障碍地块。
请你计算出星从 移动到
所需的最少转向次数。
第一行输入两个整数
;
接下来
行,每行输入
个字符(仅由 ‘0’ 和 ‘1’ 构成,字符间用空格分隔),表示迷宫中地块的状态。对于第
行,第
列,如下所述:
‘0’ 表示格子
可通行,没有障碍;
‘1’ 表示格子
存在障碍物,不可通行;
保证迷宫至少存在一条路径使得星能够从
走到
。
输出一行一个整数,表示从
移动到
所需的最少转向次数。