logo AlgoBeat OnlineJudge
登录 注册

#200224. [CEOI 1999] 黑白棋游戏

内存限制:128 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

黑白棋游戏的棋盘由 方格阵列构成。棋盘的每一方格中放有 枚棋子,共有 枚白棋子和 枚黑棋子。这 枚棋子的每一种放置方案都构成一个游戏状态。在棋盘上拥有 条公共边的 个方格称为相邻方格。一个方格最多可有 个相邻方格。在玩黑白棋游戏时,每一步可将任何 个相邻方格中棋子互换位置。对于给定的初始游戏状态和目标游戏状态,编程计算从初始游戏状态变化到目标游戏状态的最短着棋序列。

输入格式

输入文件共有 行。前四行是初始游戏状态,后四行是目标游戏状态。每行 个数分别表示该行放置的棋子颜色。“ ”表示白棋;“ ”表示黑棋。

输出格式

输出文件的第一行是着棋步数 。接下来 行,每行 个数分别表示该步交换棋子的两个相邻方格的位置。例如,abcd 表示将棋盘上 处的棋子与 处的棋子换位。

样例

样例输入 1

1111
0000
1110
0010
1010
0101
1010
0101

样例输出 1

4
1222
1424
3242
4344

数据范围与提示

由 @zhouyonglong 提供 SPJ