目录
这道题看着就脑壳痛
一.题目
二.题解
先分析一下这道题目:
当人在推箱子的时候,如果直接往人站的方向推,就直接判断前方是否是墙或出界;
但当人需要换个方向推箱子时,就需要判断人是否能到箱子的另一面,这就是本题的难点。
下面就来解决难点:
很明显,箱子堵住了人去到箱子另一面的一条路,人要通过另一条路过去,就是说人现在的位置和将要到达的位置要在一个点双连通分量内,对,没错,就是点双连通分量。
好,来缕一下思路:
1.Tarjan处理处点双连通分量
2.预处理判断人是否能到箱子的四个方向
3.BFS搜索箱子能到的位置
4.输出答案
注意细节有太多!!!!!!!!!!!!!!!!!!