BAZA
时间限制:1秒 内存限制:256M
题目描述
Mirko 在一家大型的 IT 公司获得了暑期实习的机会。这家公司建造了一个大型数据库,包含 \(N\) 行 \(M\) 列,第 \(i\) 行第 \(j\) 列上的整数是 \(A_{i,j}\)。
在他实习的第一天,他收到了 \(Q\) 次询问,每一次询问包含 \(M\) 个整数 \(B_1,B_2,\dots,B_M\)。但不幸的是,有些数在传输的过程中丢失了,数据库将它们替换为 \(-1\)。Mirko 需要回答数据库中有多少行和询问中的所有数匹配。形式化的说,Mirko 需要回答在范围 \([1,N]\) 内有多少个整数 \(i\),满足 \(\forall j\in[1,M]\),\(B_j=-1\) 或 \(B_j=A_{i,j}\)。例如,如果 \(M=3\),某一次询问为 \(-1~3~2\),那么 Mirko 需要找到所有满足第一列为任意整数,第二列为 \(3\),第三列为 \(2\) 的行数。
Mirko 毕竟是刚开始实习的新人,因此他希望能够得到你的帮助。现在,请你帮助他回答这些询问!
输入格式
第一行输入两个整数 \(N,M\),分别表示数据库的行数和列数。
随后 \(N\) 行,每行输入 \(M\) 个整数,描述这个数据库。
随后一行输入一个整数 \(Q\),表示询问次数。
随后 \(Q\) 行,每行输入 \(M\) 个整数,描述一次询问。
输出格式
对于每次询问,输出一行一个整数,表示满足要求的行数。
输入输出样例 #1
输入 #1
4 3
1 5 2
2 3 4
4 3 2
5 4 6
3
-1 -1 2
-1 3 2
-1 -1 -1
输出 #1
2
1
4
输入输出样例 #2
输入 #2
3 8
6 5 97 99 82 50 95 1
85 62 11 64 94 84 88 19
43 99 11 64 94 84 31 19
3
-1 -1 11 64 94 84 -1 19
-1 -1 -1 99 -1 -1 -1 1
95 -1 -1 -1 -1 80 -1 -1
输出 #2
2
1
0
说明/提示
【样例 1 解释】
对于第一次询问,第一行和第三行满足询问中第三列是 \(2\) 的要求。
对于第二次询问,只有第三行满足询问中第二列是 \(3\),第三列是 \(2\) 的要求。
对于第三次询问,由于并没有对每一列上的数作出要求,因此所有行都满足要求。
【数据范围】
对于所有数据,\(1\leqslant N,M\leqslant 10^3\),\(1\leqslant Q\leqslant 50\),\(1\leqslant A_{i,j}\leqslant 10^6\),\(B_j=-1\) 或 \(1\leqslant B_j\leqslant 10^6\)。
信息
- ID
- 1063
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 被复制
- 1
- 上传者