跳跳棋是在一条数轴上进行的,棋子只能摆在整点上,每个点不能摆超过一个棋子,我们用跳跳棋来做一个简单的游戏:棋盘上有三颗棋子,分别在 a,b,c 这三个位置,我们要通过最少的跳动把他们的位置移动成 x,y,z,跳动的规则很简单,任意选一颗棋子,对一颗中轴棋子跳动,跳动后两颗棋子距离不变,一次只允许跳过一颗棋子,写一个程序,首先判断是否可以完成任务,如果可以,输出最少需要的跳动次数。
原题来自:BZOJ 2144 跳跳棋是在一条数轴上进行的。棋子只能摆在整点上。每个点不能摆超过一个棋子。我们用跳跳棋来做一个简单的游戏:棋盘上有三颗棋子,分别在 a,b,c 这三个位置。我们要通过最少的跳动把他们的位置移动成 x,y,z(注意:棋子是没有区别的)。 跳动的规则很简单,任意选一颗棋子,对一颗中轴棋子跳动。跳动后两颗棋子距离不变。一次只允许跳过一颗棋子。 写一个程序,首先判断是否可以完成任务。如果可以,输出最少需要的跳动次数。
(图片来源网络,侵删)