CF1197F Coloring Game

题目描述

- 有 $n$ 条纸条,第 $i$ 个纸条被分成了 $a_i$ 个格子,编号从 $1$ 到 $a_i$,最开始每个格子是 $3$ 种颜色中的一种。 - 游戏开始时,有 $n$ 个棋子放在每个纸条的第 $a_i$ 个格子(即最后一个格子)。然后两个玩家进行轮流操作,先不能操作者输。 - 每次操作选择一枚棋子,向后移动 $1,2$ 或 $3$ 格。要求棋子不能越过纸条的边界,且若要从颜色为 $i$ 的格子向前移动 $j$ 个格子必须满足 $f_{i,j}=1$。 - 现在有些格子是未进行过染色的,问有多少种染这些格子的方案,使得后手有必胜策略,对 $998244353$ 取模。

输入格式

第一行有一个正整数 $n$。 第二行 $n$ 个整数 $a_1,a_2,\dots,a_n$。 第三行一个整数 $m$,即被染色的格子个数。 接下来 $m$ 行每行 $3$ 个整数 $x_i$,$y_i$ 和 $c_i$,即第 $x_i$ 根纸条的第 $y_i$ 个格子有颜色 $c_i$。 接下来 $3$ 行每行 $3$ 个整数,第 $i$ 行的整数是 $f_{i,1}$, $f_{i,2}$ 和 $f_{i,3}$。 $n$,$a$ 和 $f$ 的描述见题面。

输出格式

一行整数,“优秀”的染色方法的个数对 $998244353$ 取模后的结果。

说明/提示

$1\le a_i\le10^9$,$1\le n,m\le1000$,$1\le x_i\le n$,$1\le y_i\le a_{x_i}$,$1\le c_i\le 3$, $0\le f_{i,j}\le1$。