黑白棋游戏

成绩 0 开启时间 2013年02月21日 星期四 23:02
折扣 0.8 折扣时间 2013年02月28日 星期四 23:02
允许迟交 关闭时间 2013年02月28日 星期四 23:02
输入文件 bwgame.in 输出文件 bwgame.out

【题目描述】

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

【输入格式】

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

【输出格式】

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

【样例输入】

1111
0000
1110
0010
1010
0101
1010
0101

【样例输出】

4
1222
1424
3242
4344