在一个 n×n 的棋盘上有 n 个位置不同的棋子,每个棋子只能水平移动或竖直移动且移动单位距离花费单位代价,需要移动棋子使得所有棋子排列成一条直线(同在一行或同在一列或同在一条对角线)并且使得总代价最小(所有棋子移动代价之和)。
输入格式
输入包含多组数据。每组数据第一行一个正整数 n(1<=n<=15),下一行 2n 个正整数,其中第 2k−1 和第 2k 个正整数分别代表第 k 个棋子的初始行数和初始列数。
输出格式
每组数据输出一行代表最小代价,格式为 Board %x: %y moves required.
%x
为数据组序号(从1开始),%y
为最小代价。每组数据后加一个空行。