#P1001. 小A的华容道

小A的华容道

4## 题目描述 小 A 有一个 n×mn \times m 的华容道棋盘,上面有若干个不同大小的方块和一个 1×11 \times 1 的空位。其上面都是 1×21 \times 22×12 \times 1 的长方形(横放或竖放),其中有一个特殊的 1×11 \times 1 方块代表曹操

由于小 A 不会玩,于是找你来解决这个问题。

小 A 会给定你棋盘的初始状态,你的任务是找到将曹操方块移动到棋盘底部中央位置(即第 nn 行,第 n2+1\lfloor \frac{n}{2} \rfloor + 1 列)的最少步数。每一步可以将一个方块移动到相邻的空位上。

输入描述

第一行包含两个整数 nnmm (3n,m53 \leq n, m \leq 5),表示棋盘的行数和列数。

接下来 nn 行,每行包含 mm 个整数,表示棋盘的初始状态,其中:

  • 0 表示空位
  • 1 表示 1×21 \times 22×12 \times 1 的普通方块
  • 2 表示 曹操 方块(大小为 1×11 \times 1

保证输入是一个合法的华容道状态,且恰好有一个空位和一个"曹操"方块。

输出描述

输出一个整数,表示将"曹操"方块移动到目标位置所需的最少步数。如果无法到达目标位置,输出 -1

样例

3 4
1 1 2 0
1 1 1 1
1 1 1 1
5
4 4
1 1 1 1
1 2 0 1
1 1 1 1
1 1 1 1
8
3 3
1 2 1
1 0 1
1 1 1
-1