两次dfs,一次bfs,貌似数据不是很大0ms过.
不过这一题相当于几道题,代码写的挺长...
难点在于dfs时的走向向判断问题, 我采用的方法是:
方向left, up, right, down分别用0, 1, 2, 3表示.
保存上一次的位置,再根据这一次的位置,判断其方向,然后向左旋转(沿着left走时)或向右向右旋转(沿着right走时),找出其下一步前进的方向.
两次dfs,一次bfs,貌似数据不是很大0ms过.
不过这一题相当于几道题,代码写的挺长...
难点在于dfs时的走向向判断问题, 我采用的方法是:
方向left, up, right, down分别用0, 1, 2, 3表示.
保存上一次的位置,再根据这一次的位置,判断其方向,然后向左旋转(沿着left走时)或向右向右旋转(沿着right走时),找出其下一步前进的方向.