#P8038. [COCI2016-2017#7] BAZA

[COCI2016-2017#7] BAZA

题目描述

Mirko 在一家大型的 IT 公司获得了暑期实习的机会。这家公司建造了一个大型数据库,包含 NNMM 列,第 ii 行第 jj 列上的整数是 Ai,jA_{i,j}

在他实习的第一天,他收到了 QQ 次询问,每一次询问包含 MM 个整数 B1,B2,,BMB_1,B_2,\dots,B_M。但不幸的是,有些数在传输的过程中丢失了,数据库将它们替换为 1-1。Mirko 需要回答数据库中有多少行和询问中的所有数匹配。形式化的说,Mirko 需要回答在范围 [1,N][1,N] 内有多少个整数 ii,满足 j[1,M]\forall j\in[1,M]Bj=1B_j=-1Bj=Ai,jB_j=A_{i,j}。例如,如果 M=3M=3,某一次询问为 1 3 2-1~3~2,那么 Mirko 需要找到所有满足第一列为任意整数,第二列为 33,第三列为 22 的行数。

Mirko 毕竟是刚开始实习的新人,因此他希望能够得到你的帮助。现在,请你帮助他回答这些询问!

输入格式

第一行输入两个整数 N,MN,M,分别表示数据库的行数和列数。
随后 NN 行,每行输入 MM 个整数,描述这个数据库。
随后一行输入一个整数 QQ,表示询问次数。
随后 QQ 行,每行输入 MM 个整数,描述一次询问。

输出格式

对于每次询问,输出一行一个整数,表示满足要求的行数。

4 3
1 5 2
2 3 4
4 3 2
5 4 6
3
-1 -1 2
-1 3 2
-1 -1 -1
2
1
4
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
1
0

提示

【样例 1 解释】

对于第一次询问,第一行和第三行满足询问中第三列是 22 的要求。
对于第二次询问,只有第三行满足询问中第二列是 33,第三列是 22 的要求。
对于第三次询问,由于并没有对每一列上的数作出要求,因此所有行都满足要求。

【数据范围】

对于所有数据,1N,M1031\leqslant N,M\leqslant 10^31Q501\leqslant Q\leqslant 501Ai,j1061\leqslant A_{i,j}\leqslant 10^6Bj=1B_j=-11Bj1061\leqslant B_j\leqslant 10^6

【题目来源】

本题来源自 COCI 2016-2017 CONTEST 7 T1 BAZA,按照原题数据配置,满分 5050 分。

Eason_AC 翻译整理提供。