A5806. 「NOI2013」向量内积
编程题
省选/NOI-
知识点
题目描述
两个 $d$ 维向量 $A=[a_1, a_2 ,...,a_d]$ 与 $B=[b_1 ,b_2 ,...,b_d]$ 的内积为其相对应维度的权值的乘积和,即:
$$ (A,B) = \displaystyle \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$ 的倍数。请帮助她解决这个问题。
$$ (A,B) = \displaystyle \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$ 行每行有 $d$ 个非负整数,其中第 $i$ 行的第 $j$ 个整数表示向量 $[x_i]$ 的第 $j$ 维权值 $x_{i,j}$。
输出格式
包含两个整数,用空格隔开。
如果存在两个向量 $x_p,x_q$ 的内积为 $k$ 的整数倍,则输出两个向量的编号 $p$ 与 $q$(要求 $p<q$)。如果存在多组这样的向量组合,输出其中任意一组即可。
若不存在这样的向量组合,则输出两个 $-1$。
如果存在两个向量 $x_p,x_q$ 的内积为 $k$ 的整数倍,则输出两个向量的编号 $p$ 与 $q$(要求 $p<q$)。如果存在多组这样的向量组合,输出其中任意一组即可。
若不存在这样的向量组合,则输出两个 $-1$。
输入输出样例
输入 #1
3 5 2 1 0 1 0 1 1 1 0 1 0 0 1 0 1 1
输出 #1
2 3
说明/提示
| 测试点编号 | $n$ | $d$ | $k$ | $x_i$ |
| :-: | :-: | :-: | :-: | :-: |
| $1$ | $2$ | $20$ | $2$ | $\le 10$ |
| $2$ | $5$ | $20$ | $2$ | $\le 10$ |
| $3$ | $10$ | $20$ | $3$ | $\le 10$ |
| $4$ | $20$ | $20$ | $2$ | $\le 100$ |
| $5$ | $50$ | $20$ | $3$ | $\le 100$ |
| $6$ | $50$ | $50$ | $2$ | $\le 1000$ |
| $7$ | $50$ | $50$ | $3$ | $\le 3000000$ |
| $8$ | $80$ | $80$ | $2$ | $\le 2000000$ |
| $9$ | $100$ | $100$ | $3$ | $\le 3000000$ |
| $10$ | $500$ | $100$ | $3$ | $\le 3000000$ |
| $11$ | $1000$ | $100$ | $2$ | $\le 2000000$ |
| $12$ | $1000$ | $100$ | $3$ | $\le 3000000$ |
| $13$ | $10000$ | $100$ | $2$ | $< 10$ |
| $14$ | $10000$ | $100$ | $3$ | $< 10$ |
| $15$ | $15000$ | $100$ | $2$ | $< 10$ |
| $16$ | $18000$ | $100$ | $2$ | $< 10$ |
| $17$ | $20000$ | $100$ | $2$ | $< 10$ |
| $18$ | $50000$ | $30$ | $3$ | $< 10$ |
| $19$ | $80000$ | $30$ | $3$ | $< 10$ |
| $20$ | $100000$ | $30$ | $3$ | $< 10$ |
| :-: | :-: | :-: | :-: | :-: |
| $1$ | $2$ | $20$ | $2$ | $\le 10$ |
| $2$ | $5$ | $20$ | $2$ | $\le 10$ |
| $3$ | $10$ | $20$ | $3$ | $\le 10$ |
| $4$ | $20$ | $20$ | $2$ | $\le 100$ |
| $5$ | $50$ | $20$ | $3$ | $\le 100$ |
| $6$ | $50$ | $50$ | $2$ | $\le 1000$ |
| $7$ | $50$ | $50$ | $3$ | $\le 3000000$ |
| $8$ | $80$ | $80$ | $2$ | $\le 2000000$ |
| $9$ | $100$ | $100$ | $3$ | $\le 3000000$ |
| $10$ | $500$ | $100$ | $3$ | $\le 3000000$ |
| $11$ | $1000$ | $100$ | $2$ | $\le 2000000$ |
| $12$ | $1000$ | $100$ | $3$ | $\le 3000000$ |
| $13$ | $10000$ | $100$ | $2$ | $< 10$ |
| $14$ | $10000$ | $100$ | $3$ | $< 10$ |
| $15$ | $15000$ | $100$ | $2$ | $< 10$ |
| $16$ | $18000$ | $100$ | $2$ | $< 10$ |
| $17$ | $20000$ | $100$ | $2$ | $< 10$ |
| $18$ | $50000$ | $30$ | $3$ | $< 10$ |
| $19$ | $80000$ | $30$ | $3$ | $< 10$ |
| $20$ | $100000$ | $30$ | $3$ | $< 10$ |