题目描述
给定一个大小为 n×m 的字符矩阵(仅包含大写英文字母)。
我们把由三个不同字符组成的字符串称为“幸运字符串”。在该矩阵中,如果三个字符分别为 R、O 和 G,且它们的位置为 (x1,y1)、(x2,y2)、(x3,y3),并满足
$$x_1\le x_2\le x_3\quad\text{且}\quad y_1\le y_2\le y_3,
$$
则称该字符串为一个“ROG 幸运字符串”。
请计算矩阵中满足上述条件的所有 ROG 幸运字符串的个数。由于结果可能很大,最终答案需对 998244353 取模。
以下为示例矩阵的逐项列举(保持原题文字内容,仅格式化):
以下面矩阵为例:
RAG
OGR
ROG
满足条件的 ROG 三元组有以下 4 种:
- (1,1)→(2,1)→(3,3),坐标分别为 (1,1),(2,1),(3,3),对应字符为 R, O, G。
- (1,1)→(3,2)→(3,3),坐标分别为 (1,1),(3,2),(3,3),对应字符为 R, O, G。
- (1,1)→(2,1)→(2,2),坐标分别为 (1,1),(2,1),(2,2),对应字符为 R, O, G。
- (3,1)→(3,2)→(3,3),坐标分别为 (3,1),(3,2),(3,3),对应字符为 R, O, G。
总计 4 种。
输入格式
第一行包含两个整数 n, m,表示字符矩阵的行数和列数。
接下来的 n 行,每行是一个长度为 m 的字符串,表示矩阵的一行,字符串仅由大写英文字母构成。
下标与坐标约定为:矩阵第一行为 x=1,第一列为 y=1。
输出格式
输出一个整数,表示满足条件的 ROG 幸运字符串的个数(对 998244353 取模)。
样例输入
3 3
RAB
OOO
GGG
样例输出
6
说明
数据范围
- 1≤n,m≤2000。