编程题
向量内积 ### 题目描述 两个 $d$ 维向量 $A=[a_1,a_2,\ldots,a_d]$ 与 $B=[b_1,b_2,\ldots,b_d]$ 的内积为其相对应维度的权值的乘积和,即: $$(A,B)=\sum_{i=1}^d a_ib_i=a_1b_1+a_2b_2+\ldots+a_db_d$$ 现有 $n$ 个 $d$ 维向量 $x_1,\ldots,x_n$ ,小喵喵想知道是否存在两个向量的内积为 $k$ 的倍数。请帮助她解决这个问题。 ### 输入描述 第一行包含 $3$ 个正整数 $n,d,k$,分别表示向量的个数,维数以及待检测的倍数。 接下来 $n$ 行每行有 $d$ 个非负整数,其中第 $i$ 行的第 $j$ 个整数表示向量 $x_i$ 的第 $j$ 维权值 $x_{i,j}$。 其中,$n \leq 10^5$ ,$d \leq 100$,$k \leq 3$,$x_{i,j} \leq 3\times 10^6$。 ### 输出描述 输出两个整数,用空格隔开。 如果存在两个向量 $x_p,x_q$ 的内积为 $k$ 的整数倍,则输出两个向量的编号 $p$ 与 $q$(要求 $p < q$)。如果存在多组这样的向量组合,输出其中任意一组即可。 若不存在这样的向量组合,则输出两个 $-1$。 ### 输入输出样例 #### 示例 1 >输入 ```txt 3 5 2 1 0 1 0 1 1 1 0 1 0 0 1 0 1 1 ``` >输出 ```txt 2 3 ```
查看答案
赣ICP备20007335号-2