题库 C++/C语言题库 题目列表 C语言等级考试五级编程题:玩具摆放。在一个4*4的方框...
问答题

C语言等级考试五级编程题:玩具摆放。

在一个4*4的方框内摆放了若干个相同的玩具。

 

某人想通过移动玩具,将这些玩具重新摆放成为他心中理想的状态。要求每次移动时,只能将某一个玩具向上下左右四个方向之一移动一步。不能将玩具移出方框,并且移动的目标位置不能已经放置有玩具。

 

请你用最少的移动次数将初始的玩具状态移动到他心中的目标状态。

 

时间限制:10000

内存限制:524288

 

输入

4行表示玩具的初始状态,每行4个数字101表示方格中放置了玩具,0表示没有放置玩具。 接着是一个空行。接下来4行表示玩具的目标状态,每行4个数字10,意义同上。

 

输出

一个整数,所需要的最少移动次数。保证初始状态可以达到目标状态。

 

样例输入

1111

0000

1110

0010

 

1010

0101

1010

0101

 

样例输出

4

提示

可以考虑将玩具局面表示为一个16 bit的整数,设置一个标志数组用来判重,用这个整数做下标找其对应标志位

题目信息
2022年 五级 编程题 C语言等级考试真题
-
正确率
0
评论
90
点击