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`