SP12600 BMASTER - Blade Master

题目描述

Loda 和 Maelk 是 ChefCraft 游戏中的传奇玩家,他们的对局次数多得无法用普通的 32 位整数来表示。今天,他们将一决高下,看谁才是最伟大的 ChefCraft 玩家。一场盛大的对决即将开始。 在游戏 ChefCraft 中,你可以选择许多不同的英雄。每个英雄都有自己的优缺点。Loda 尤其擅长操控 Blade Master,他的绝技是制造镜像来迷惑敌人。 ChefCraft 的游戏场地是一个矩形网格,由 $N$ 行 $M$ 列组成。网格的行编号为 $1$ 到 $N$,自上而下排列;列编号为 $1$ 到 $M$,自左至右排列。 游戏初始,唯一的 Blade Master 镜像位于起始位置 $(Sx, Sy)$,其中 $1 \leq Sx \leq N$ 且 $1 \leq Sy \leq M$。随后,Loda 发起 $T$ 次移动。Maelk 很清楚 Loda 每次移动后,网格上镜像分布的变化规则。 以下是镜像分布变化的具体规则: **1.** 若某单元格 $(i, j)$ 上存在镜像,则新的镜像会按以下准则生成: - 定义 $F(i, j)$ 为单元格 $(i, j)$ 的“十字区域”内的镜像总数。“十字区域”包括第 $i$ 行和第 $j$ 列上的所有单元格,因此该区域包含 $N + M - 1$ 个单元格。 - 定义 $X = F(i, j) \mod 6$,即 $X$ 是 $F(i, j)$ 除以 6 的余数。 - 每个 $X$ 值对应一组方向 $D1$、$D2$ 和周期 $P1$、$P2$。 - $D1$ 和 $D2$ 可以是 `['U', 'R', 'D', 'L']` 中的任意两个,它们表示两个方向,分别是上、右、下、左。 - $P1$ 和 $P2$ 是整数,表示周期。 - 在方向 $D1$,周期为 $P1$,以及方向 $D2$,周期为 $P2$ 的路径上,从单元格 $(i, j)$ 开始将出现新的镜像。当然,镜像不会生成在网格之外。例如,若 $D1 = 'U'$ 且 $P1 = 2$,则镜像将在位置 $(i-2, j), (i-4, j), (i-6, j)$ 等位置依次生成。 - Loda 固定使用如下方向组合: - 对 $X = 0$,$D1 = 'U', D2 = 'D'$ - 对 $X = 1$,$D1 = 'L', D2 = 'R'$ - 对 $X = 2$,$D1 = 'U', D2 = 'R'$ - 对 $X = 3$,$D1 = 'R', D2 = 'D'$ - 对 $X = 4$,$D1 = 'D', D2 = 'L'$ - 对 $X = 5$,$D1 = 'L', D2 = 'U'$ - 但 $P1$ 和 $P2$ 的具体值可以因游戏而异,但一旦选择,对不同的移动保持不变。 **2.** 新的镜像会立刻出现。 **3.** 当一个单元格中有多个镜像时,它们会进行一对一战斗。每次战斗涉及两个镜像,双方同归于尽。因此,如果镜像的数量是偶数,那么所有镜像将消失;若为奇数,最终会剩下一个镜像。 Maelk 希望获得 Loda 移动过程中镜像数量的变化信息,以便做出明智的决策并选择合适的英雄参与战斗。设 $C(t)$ 表示第 $t$ 次移动后网格上的镜像总数,$t$ 从 $1$ 到 $T$。为简便起见,我们定义 $C(0) = 1$,表示在第 0 次行动中启动的唯一镜像。Maelk 想知道镜像数量之和:$C(0) + C(1) + \ldots + C(T)$。由于 Loda 的操作难以预测,Maelk 希望了解多个 $T$ 值的计算结果。因为游戏次数和移动次数都可能非常大,不适合用普通的整数类型表示,而 Maelk 自幼玩 ChefCraft,并不擅长数学计算,因此请你帮助他完成这些大规模的和的计算,助他成为唯一的 ChefCraft 大师。

输入格式

第一行输入三个整数 $N$、$M$ 和 $Q$,分别表示网格的行数和列数,以及 Maelk 的查询次数。第二行是两个整数 $Sx$ 和 $Sy$,代表镜像的起始行和列。接着的六行,每行由两个整数组成,是每个 $X$ 值对应的 $P1$ 和 $P2$。最后有 $Q$ 行,每行一个整数 $T$,表示 Maelk 查询的 Loda 的移动次数。

输出格式

对于 Maelk 的每个查询,输出 Loda 移动过程中看到的镜像数量总和,各自占一行。 **本翻译由 AI 自动生成**