2664. 「NOI2013」向量内积
传统
5000 ms
256 MiB
2013NOI
285 通过
1176 提交
题目描述
两个 d 维向量 A=[a1,a2,…,ad] 与 B=[b1,b2,…,bd] 的内积为其相对应维度的权值的乘积和,即:
$$(A,B) = \displaystyle \sum_{i=1}^d{a_ib_i} = a_1b_1 + a_2b_2 + \ldots + a_db_d
$$
现有 n 个 d 维向量 x1,…,xn,小喵喵想知道是否存在两个向量的内积为 k 的倍数。请帮助她解决这个问题。
输入格式
第一行包含 3 个正整数 n,d,k,分别表示向量的个数、维数以及待检测的倍数。
接下来 n 行每行有 d 个非负整数,其中第 i 行的第 j 个整数表示向量 [xi] 的第 j 维权值 xi,j。
输出格式
包含两个整数,用空格隔开。
如果存在两个向量 xp,xq 的内积为 k 的整数倍,则输出两个向量的编号 p 与 q(要求 p<q)。如果存在多组这样的向量组合,输出其中任意一组即可。
若不存在这样的向量组合,则输出两个 −1。
样例
输入
3 5 2
1 0 1 0 1
1 1 0 1 0
0 1 0 1 1
输出
2 3
(x1,x2)=1
(x1,x3)=1
(x2,x3)=2
数据范围与提示
| 测试点编号 |
n |
d |
k |
xi |
| 1 |
2 |
20 |
2 |
≤10 |
| 2 |
5 |
|
|
|
| 3 |
10 |
3 |
| 4 |
20 |
2 |
|
≤100 |
| 5 |
50 |
|
3 |
|
| 6 |
2 |
|
≤1000 |
| 7 |
|
≤3000000 |
| 8 |
80 |
2 |
≤2000000 |
| 9 |
100 |
3 |
≤3000000 |
| 10 |
500 |
|
|
|
| 11 |
1000 |
2 |
≤2000000 |
| 12 |
|
3 |
≤3000000 |
| 13 |
10000 |
2 |
|