A85831.「NOI2013」向量内积
省选/NOI-
通过率:0%
时间限制:5.00s
内存限制:256MB
题目描述
两个 d 维向量 A=[a1,a2,...,ad] 与 B=[b1,b2,...,bd] 的内积为其相对应维度的权值的乘积和,即:
(A,B)=i=1∑daibi=a1b1+a2b2+…+adbd
现有 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。
输入输出样例
输入#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 | xi |
|---|---|---|---|---|
| 1 | 2 | 20 | 2 | ≤10 |
| 2 | 5 | 20 | 2 | ≤10 |
| 3 | 10 | 20 | 3 | ≤10 |
| 4 | 20 | 20 | 2 | ≤100 |
| 5 | 50 | 20 | 3 | ≤100 |
| 6 | 50 | 50 | 2 | ≤1000 |
| 7 | 50 | 50 | 3 | ≤3000000 |
| 8 | 80 | 80 | 2 | ≤2000000 |
| 9 | 100 | 100 | 3 | ≤3000000 |
| 10 | 500 | 100 | 3 | ≤3000000 |
| 11 | 1000 | 100 | 2 | ≤2000000 |
| 12 | 1000 | 100 | 3 | ≤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 |