换行时要把状态多加一个右插头的位置,如果您和我一样是判断当前格子是不是当前行第一个,就可能有问题,应该判断是不是当前行第一格没有障碍的格子。
int s = (h[now ^ 1].val[k] << (flag << 1)), v = h[now ^ 1].f[k]; // 要用 flag 记录当前格子是不是当前行第一个没有障碍的格子,而不是直接判断当前格子是不是当前行第一个格子