1881. 大膜法师 HWF 的并发吟唱

时间限制 2000 ms   内存限制 256 MB

大膜法师 HWF 沉迷在膜力崩坏的倒塌世界已经很久了,一直致力于研究大量膜法组合的他终于探究出了最高效的多膜法组合阵列,对于这种膜力强大的膜法阵列,每次只需要施放其中一个矩形范围内的所有膜法,即可掌控令常理世界倒塌的神之力量!拥有无边智慧的大膜法师 HWF 为了更高效地吟唱大量的膜法,从倒塌世界原初膜典之一的祈求者膜典中学会了一种叫做并发吟唱古老技术!

我们定义大膜法师 HWF 的一个膜法由一个有序的咒语序列组成。 我们定义大膜法师 HWF 的膜法阵列为,由 $n$ 行 $m$ 列个膜法组成的矩阵。 我们定义大膜法师 HWF 的并发吟唱为:大膜法师 HWF 从膜法阵列中选出一个连续的子矩阵,然后 HWF 吟唱出选中的子矩阵中所有的魔法的所有咒语。 但是在吟唱中有以下要求必须被满足:

  1. 所有膜法的所有咒语均不相同,即不存在相同的咒语属于不同的膜法。
  2. HWF 同时只能吟唱一句咒语。
  3. 组成每个膜法的咒语序列必须按顺序吟唱。
  4. 属于不同膜法的咒语可以任意顺序吟唱。

现在大膜法师 HWF 想考验你有没有成为膜法师学徒的资格,HWF 会多次并发吟唱,并询问你合法的咒语序列有多少种(由于答案数字可能很大,答案请取模 $1000000007$ 后输出)。

如果你回答了大膜法师HWF正确的答案,那么大膜法师HWF将会送给你一个气球作为奖励!

输入数据

第一行为一个整数 $T (1 \leq T\leq 20)$,代表有 $T$ 组样例。

对于每组样例:

输入第一行为三个整数 $n,m,q (1\leq n,m\leq 200,\ 1\leq q\leq 20000)$,代表膜法阵列的尺寸是 $n$ 行 $m$ 列,HWF 会进行 $q$ 次并发吟唱。

接下来输入 $n$ 行,每行 $m$ 个整数,其中第 $i$ 行第 $j$ 个数 \(A_{i,j}(1 \leq A_{i,j} \leq 200)\) 代表膜法阵列中第 $i$ 行第 $j$ 列的膜法有多少句咒语。

最后输入 $q$ 行,每行四个整数,代表每一次并发吟唱的子矩阵为膜法阵列中左上角位置 $(x_1,y_1)$ 和右下角位置 $(x_2,y_2)$ 组成的子矩阵,保证 $(1\leq x_1\leq x_2\leq n,\ 1\leq y_1\leq y_2\leq m)$。

输出数据

对于每组样例:

输出 $q$ 行,每行一个数字,表示这一次并发吟唱的可能吟唱顺序数对 $1000000007$ 取模后的结果。

样例输入

复制
1
1 2 2
1 2
1 1 1 1
1 1 1 2 \n
 · · \n
 · \n
 · · · \n
 · · · \n

样例输出

复制
1
3 \n
 \n

样例说明

对于第一组询问,只有 $(1.1)$ 一种答案。

对于第二组询问,有 $(1.1\rightarrow 2.1\rightarrow 2.2),(2.1\rightarrow 1.1\rightarrow 2.2),(2.1\rightarrow 2.2\rightarrow 1.1)$ 三种答案。

提交

请先 登录

© 2024 FAQs Contact About