移棋子
   

  MFG投资公司发明了一种游戏棋盘,这个棋盘有15个孔,除了一个孔外,其它孔中都有一粒棋子。一粒棋子能沿着棋盘中的直线跳过一个或多个相邻的棋子到最近的一个空孔中,被跳过的棋子就被移出棋盘。在下面的图形中,位于12孔或者位于14号孔的棋子能跳入5号孔。如果位于12号孔的棋子跳过来,则位于8号孔的棋子就被移出棋盘,同样如果是位于14号孔的棋子跳过来,则位于9号孔的棋子就被移走了。

           

  请你编写一个程序,找出用最少跳动序列移走其它棋子,除了最后一粒棋子留在初始的空孔中。如果这样的序列不存在,则程序要输出一行信息"IMPOSSIBLE"。

  输入

  输入包含T个测试数据。输入文件的第一行给出了T。每一个测试数据是单一的整数,表示一个空孔的编号。

  输出

  对于每一个数据,输出的第一行包含一个整数,表示这最短的移棋子序列中的跳动次数。在第二行中输出一个棋子移动的序列,一个棋子移动包含一对整数(之间用一个空格隔开),第一个整数是跳动的起始点编号,第二个整数是跳动的目的点编号。
  
  Sample Input
  1
  5

  Output for the Sample Input
  10
  12 5 3 8 15 12 6 13 7 9 1 7 10 8 7 9 11 14 14 5
 
   

 
网站导航 | 关于曙光 | 联系我们 | 请提意见
Copyright © FuJian Sunshine Educational Info. Co.,Ltd.
福建曙光教育资讯有限公司 版权所有