题目描述
一个 的棋盘上放着 个黑骑士(1)、 个白骑士(0)和一个空位(.)。目标局面是:第 1、2 行全为黑骑士,第 3 行是「黑 黑 空 白 白」,第 4、5 行全为白骑士。每次操作把一个骑士按马步跳进空位(不要求中间无障碍)。求从给定局面变到目标局面所需的最少步数;若最少步数超过 15 输出 。
输入格式
输入 5 行,每行 5 个字符(1 黑骑士、0 白骑士、. 空位),保证三种字符的数量与目标局面一致。
输出格式
一行一个整数,最少步数;超过 15 输出 -1。
样例
输入
11111 .1111 11100 00000 00000
输出
1
数据范围
- 对于 30% 的数据:最少步数不超过 3
- 对于 60% 的数据:最少步数不超过 8
- 对于 100% 的数据:最少步数不超过 15