问题抽象:在无限网格上,初始在 (0,0)、朝向“下”。给定指令序列长度为 m,其中包含三类操作:前进 F、右转 T、跳跃 S。网格上有 n 个互不相同的任务点,落到其坐标即清除之。
朝向与移动:按顺时针顺序编码方向为 [0,1,2,3] 对应 [右,下,左,上]。初始方向 d=1(下)。单位移动向量依次为 (1,0),(0,−1),(−1,0),(0,1)。
指令含义
工作室正在研发“任务导航”活动,需要你实现人物的自动任务寻路系统按指令执行路径并完成“任务点”功能,最终输出人物停止位置。在一个无限范围的网格图上,分布有 n 个两两位置不同的“任务点”,你的初始位置在 (0,0) ,面向南。记当前位置为 (x0,y0) ,则:
向东走一格,位置变为 (x0+1,y0);
向南走一格,位置变为 (x0,y0−1);
向西走一格,位置变为 (x0−1,y0);