T557292 不开心的SC

题目背景

(本题测试数据尚未完全完成,但是可以简单测试代码正确性) SC不开心了,要去吃美味的小饼干才能开心。

题目描述

给定一个 $N×N$ 的矩阵,SC需要吃到全图所有的美味的小饼干才能开心,但是SC不能吃到他不爱吃的不美味小饼干,求SC吃到全图所有的美味的小饼干的最短步数。

输入格式

第1行包含一个整数 $N$ ,表示矩阵的大小。 第 $2-N+1$ 行:每行有 $N$ 个整数。 $0$ 表示普通的格子, $1$ 表示SC的起点, $2$ 表示有美味的小饼干, $3$ 表示这里有SC不爱吃的不美味小饼干。

输出格式

输出一行,包含一个整数,表示对应的答案。 若SC不能吃到全图所有的美味的小饼干,则输出 $-1$ 。

说明/提示

**【样例 1 解释】** 假设第$i$列第$j$行的坐标为 $(i,j)$ 。 考虑SC的移动路径如下: $(1,1)→(2,1)→(2,2)→(3,2)→(3,3)→(3,4)→(1,4) →(1,3)→(1,5)→(1,4)→(4,4)→(4,5)→(5,5)→(5,1) →(4,1)$ 可以证明不存在更好的方案,故输出 $21$ 。 **【样例 2 解释】** 因为 $(2,3)$ 的美味的小饼干被 $(3,1),(2,2),(3,3)$ 三个不美味的小饼干包围,所以SC无论如何都不能在不吃到不美味的小饼干的情况下吃到美味的小饼干,故输出 $-1$ 。 **【数据范围】** 对于所有的测试数据,保证:$0≤N≤100$ 。 | 测试点编号| $n≤$ | 特殊性质 | | :----------: | :----------: | :----------: | | 1∼3 | 20 | 无| | 4∼6 | 100 | $A$ | | 7∼10 | 100 | $B$ | | 11∼20 | 100 | 无 | 特殊性质$A$:保证只有一个美味的小饼干。 特殊性质$B$:保证没有不美味的小饼干。