最新消息:680元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

信息学奥赛题库- 棋盘游戏

C++ 少儿编程 1040浏览 0评论

友情提示:680元/半年,儿童学编程,就上码丁实验室

【题目描述】

在一个 $4×4$ 的棋盘上有$8$ 个黑棋和 $8$ 个白棋,当且仅当两个格子有公共边,这两个格子上的棋是相邻的。移动棋子的规则是交换相邻两个棋子。

给出一个初始棋盘和一个最终棋盘,请找出一个最短的移动序列使初始棋盘变为最终棋盘。

【输入】

前四行,每行 $4$ 个数字($1$ 或者 $0$),描述了初始棋盘;

接着是一个空行;

第六到第九行,每行 $4$ 个数字($1$ 或者 $0$),描述了最终棋盘。

【输出】

一行是一个整数 $n$,表示最少的移动步数。

【输入样例】

1111
0000
1110
0010

1010
0101
1010
0101

【输出样例】

4

您必须 登录 才能发表评论!