SP3477 BABY - Baby

题目描述

婴儿正在尝试解决知名的八皇后问题:在一个 8×8 的国际象棋棋盘上放置 8 个皇后,要求任何两个皇后不能在同一行、同一列或同一对角线上。婴儿对行和列的概念理解得很清楚,但对角线对她来说还不太明确。所以她成功地将 8 个皇后放在棋盘上,使得没有两个皇后占据相同的行或列,但可能有些皇后在同一对角线上。 现在给你婴儿的皇后摆放位置(她的一个解)以及一个已经给出的正确的八皇后解题方案。问题是要求我们通过移动婴儿的皇后,将它们移动到这个正确的方案中对应皇后的位置。假定在一次移动中,皇后可以向任意一个未被占用的位置进行一格的行或列方向的移动。 请编写一个程序,计算将婴儿的皇后移动到正确解位置所需的最少移动步数。此程序还要适用于一般的 n 皇后问题,问题中 n 个皇后放置在 n×n 的棋盘上。

输入格式

输入由多组测试用例组成。 每组用例先是一个整数 $n$,表示棋盘的大小以及皇后的数量。 接着的两行各包含 $n$ 个整数。第一行的数字表示婴儿在第 1, 2, ..., $n$ 行时,皇后的列号。相同的规则第二行提供正确解的皇后列号。行与行之间用空格分隔。 输入在一行以 `0` 开头结束。

输出格式

对于每个测试用例,输出所需的最少移动次数。

说明/提示

棋盘尺寸满足 $4 \le n \le 16$。 **本翻译由 AI 自动生成**