$|x|+|y|=\max(x+y,x-y,-x+y,-x-y)$,设$f[i][j]$表示在$(0,0)$,朝向方向$j$,执行第$i$条指令后的信息: $cir$:是否陷入循环 $d$:朝向 $x,y$:坐标 $v_0$:$\max(x+y)$ $v_1$:$\max(x-y)$ $v_2$:$\max(-x+y)$ $v_3$:$\max(-x-y)$ 然后记忆化搜索,当陷入循环时不再执行后面的指令. 用栈维护所有正在计算的状态,若发现循环,则计算循环的$x$和$y$之和,若为$0$则是循…