[COCI2016-2017#7] BAZA
题目描述
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
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
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$。
**【题目来源】**
本题来源自 **_[COCI 2016-2017](https://hsin.hr/coci/archive/2016_2017/) [CONTEST 7](https://hsin.hr/coci/archive/2016_2017/contest7_tasks.pdf) T1 BAZA_**,按照原题数据配置,满分 $50$ 分。
由 [Eason_AC](https://www.luogu.com.cn/user/112917) 翻译整理提供。