提供翻译
查看原帖
提供翻译
618235
imakarahareruyo楼主2023/11/14 21:22

棋盘上有 nn 个棋子,你需要求对于当前局面,下一次移动有多少种不同的走法。

一次移动由若干步组成。假设当前要移动的棋子为 aa,在每一步中,首先需要选择另一个棋子 bb 作为跳台,然后将 aa 走到关于 bb 的对称位置(在一次移动中,你无法更改需要移动的棋子 aa。并且在某一步中,棋子 aa 回到此次移动前所在的位置是不被允许的)。

关于跳台 bb 的选择有一些条件:

  • aa 和 bb 之间的连线应当平行于棋盘的某条坐标轴。注:棋盘上一共有三条坐标轴,其中一条与水平线平行,并且任意两条坐标轴之间的夹角均为 π3\frac{\pi}{3}。

  • aa 和 bb 不必相邻。

  • 除了跳台 bb 以外,aa 和其关于 bb 的对称点的连线上不能有其他棋子。

  • 对称点的位置应当落在棋盘上,并且没有被其他棋子占据。

一次移动需要至少走一步。在第一步以后,你可以随时停下来。你可以选择棋盘上任意一个棋子作为移动棋子。请输出有多少种不同的走法。

两种走法不同当且仅当两次移动后所有棋子的位置组成的集合不同,并且棋子之间不可区分。

输入格式

第一行一个整数 TT,表示数据组数。

对于每组数据,第一行一个整数 nn,表示棋子数量。

接下来 nn 行,每行两个整数,表示棋子位置。第一个整数表示棋子所在行,第二个整数表示棋子所在列(棋子在这一行的第几个位置上,注意每一行的起始位置和列数有可能是不一样的)。行列的编号从 11 开始,分别从上到下,从左到右递增。

保证每个棋子的位置互不相同。

输出格式

输出 TT 行,每行一个整数,表示不同走法的数量。

棋盘上有 $n$ 个棋子,你需要求对于当前局面,下一次移动有多少种不同的走法。

一次移动由若干步组成。假设当前要移动的棋子为 $a$,在每一步中,首先需要选择另一个棋子 $b$ 作为跳台,然后将 $a$ 走到关于 $b$ 的对称位置(在一次移动中,你无法更改需要移动的棋子 $a$。并且在某一步中,棋子 $a$ 回到此次移动前所在的位置是不被允许的)。

关于跳台 $b$ 的选择有一些条件:

- $a$ 和 $b$ 之间的连线应当平行于棋盘的某条坐标轴。注:棋盘上一共有三条坐标轴,其中一条与水平线平行,并且任意两条坐标轴之间的夹角均为 $\frac{\pi}{3}$。

- $a$ 和 $b$ 不必相邻。

- 除了跳台 $b$ 以外,$a$ 和其关于 $b$ 的对称点的连线上不能有其他棋子。

- 对称点的位置应当落在棋盘上,并且没有被其他棋子占据。

一次移动需要至少走一步。在第一步以后,你可以随时停下来。你可以选择棋盘上任意一个棋子作为移动棋子。请输出有多少种不同的走法。

两种走法不同当且仅当两次移动后所有棋子的位置组成的集合不同,并且棋子之间不可区分。

### 输入格式
第一行一个整数 $T$,表示数据组数。

对于每组数据,第一行一个整数 $n$,表示棋子数量。

接下来 $n$ 行,每行两个整数,表示棋子位置。第一个整数表示棋子所在行,第二个整数表示棋子所在列(棋子在这一行的第几个位置上,注意每一行的起始位置和列数有可能是不一样的)。行列的编号从 $1$ 开始,分别从上到下,从左到右递增。

保证每个棋子的位置互不相同。

### 输出格式
输出 $T$ 行,每行一个整数,表示不同走法的数量。
2023/11/14 21:22
加载中...