仓库货箱归位

普及-⏱ 1000ms💾 256MB#P3242🏷️ BFS搜索

题目描述

一个 $4 \times 4$ 的仓库货位,部分货位上放着相同的货箱(用 1 表示,空位用 0)。 每次可以把一个货箱向上下左右相邻的空货位推动一格。 给定初始摆放与目标摆放,求最少推动次数。

输入格式

前四行,每行 4 个字符(1 或 0),为初始摆放; 接下来一个空行; 后四行,每行 4 个字符(1 或 0),为目标摆放。

输出格式

一行一个整数:最少推动次数。

数据范围

初始与目标摆放中货箱数量相同。

样例输入 #1
0001
0001
0000
0000

0011
0000
0000
0000
样例输出 #1
2
样例输入 #2
1011
1011
1111
1011

0111
1111
1101
1101
样例输出 #2
4