SP12609 DIFFV - Different Vectors

题目描述

给定一组包含 $N$ 个向量的集合,每个向量由 $K$ 个整数组成。我们说两个向量 $\text{ex}$ 和 $\text{ey}$ 相等,当且仅当存在一个双射函数 $f$ 和一个整数 $r$,这样对于每个 $i \in [0, K)$,都有 $\text{ex}[i] = f(\text{ey}[(i + r) \% K])$。举个例子,向量 $(1, 2, 2, 3)$ 与 $(22, 3, 4, 22)$ 是相等的,因为可以找到一个 $r=2$,以及映射 $f(22)=2, f(3)=3, f(4)=1$;但是 $(22, 3, 22, 4)$ 与 $(1, 2, 2, 3)$ 不等。 你的任务是找出给定的 $N$ 个向量中有多少个不同的向量。 ### 输入格式 输入的第一行包含一个整数 $T$,表示测试用例的数量 $(T \leq 10)$。 每个测试用例包括以下内容: - 第一行包含两个整数 $N$ 和 $K$,分别表示向量的数量和每个向量包含的整数个数。 - 接下来的 $N$ 行,每行有 $K$ 个整数,描述一个向量。 ### 输出格式 对于每个测试用例,输出一行,包含一个整数,表示不同向量的数量。 ### 示例 输入: ``` 2 3 4 22 3 4 22 1 2 2 3 22 3 22 4 5 5 3 3 3 0 3 8 4 4 4 0 1 1 1 1 1 1 1 8 6 1 1 3 3 3 5 ``` 输出: ``` 2 3 ``` ### 数据范围与提示 - $n \leq 10000$ - $k \leq 100$ - 向量中的值在范围 $[0, 10^9]$ 内 在理解题意的过程中,注意考虑向量元素的排列与函数映射的双射条件,以正确判断向量是否相等。 **本翻译由 AI 自动生成**

输入格式

First number contains T (T

输出格式

Output one number, number of different vectors. ``` Input:2 3 4 22 3 4 22 1 2 2 3 22 3 22 4 5 5 3 3 3 0 3 8 4 4 4 0 1 1 1 1 1 1 1 8 6 1 1 3 3 3 5 ``` **Output:** `2` `3`