atcoder#ARC157C. [ARC157C] YY Square

[ARC157C] YY Square

题目描述

H H W W 列のマス目の各マスに X, Y のいずれかの文字が書かれています. 上から i i 行目,左から j j 列目のマスを (i, j) (i,\ j) で表します. マス目に書かれている文字は H H 個の文字列 S1, S2, , SH S_1,\ S_2,\ \dots,\ S_H によって与えられ,Si S_i j j 文字目がマス (i, j) (i,\ j) に書かれた文字を表します.

下または右に隣接するマスへの移動を繰り返してマス (1, 1) (1,\ 1) からマス (H, W) (H,\ W) に至る経路 P P に対して,

  • P P で通るマスに書かれた文字を順に並べて得られる長さ (H + W  1) (H\ +\ W\ -\ 1) の文字列」を str(P) \mathrm{str}(P) とし,
  • str(P) \mathrm{str}(P) 中で Y 同士が隣り合う箇所の個数の 2 2 」を P P スコアと定義します.

そのような経路 P P としてあり得るものは (H + W  2H  1) \displaystyle\binom{H\ +\ W\ -\ 2}{H\ -\ 1} 通りありますが,その全てに対するスコアの総和を 998244353 998244353 で割った余りを求めてください.

(NK) \binom{N}{K} の意味 (NK) \displaystyle\binom{N}{K} は,N N 個の相異なる要素から K K 個を選ぶ場合の数を表す二項係数です.

输入格式

入力は以下の形式で標準入力から与えられる.

H H W W S1 S_1 S2 S_2 \vdots SH S_H

输出格式

あり得る経路全てに対するスコアの総和を 998244353 998244353 で割った余りを出力せよ.

题目大意

给定 H×WH \times W 的矩阵,每个位置上有一个字符,是 XY

定义一条路径的权值为,将其经过的字符按顺序拼接成一个字符串,YY 在这个字符串的出现次数。

要求每次只能向右或向下走,求,所有的 (H+W2H1)\binom{H + W - 2}{H - 1} 条左上到右下的路径,它们权值平方的和。

2 2
YY
XY
4
2 2
XY
YY
2
10 20
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYY
423787835

提示

制約

  • 1  H  2000 1\ \leq\ H\ \leq\ 2000
  • 1  W  2000 1\ \leq\ W\ \leq\ 2000
  • Si (1  i  H) S_i\ (1\ \leq\ i\ \leq\ H) X, Y からなる長さ W W の文字列である.

Sample Explanation 1

経路 P P としてあり得るものは (1, 1)  (1, 2)  (2, 2) (1,\ 1)\ \to\ (1,\ 2)\ \to\ (2,\ 2) (1, 1)  (2, 1)  (2, 2) (1,\ 1)\ \to\ (2,\ 1)\ \to\ (2,\ 2) 2 2 通りです. - (1, 1)  (1, 2)  (2, 2) (1,\ 1)\ \to\ (1,\ 2)\ \to\ (2,\ 2) の場合,str(P) =  \mathrm{str}(P)\ =\ {} YYY であり,1, 2 1,\ 2 文字目と 2, 3 2,\ 3 文字目の 2 2 箇所で Y 同士が隣り合っているので,スコアは 22 = 4 2^2\ =\ 4 です. - (1, 1)  (2, 1)  (2, 2) (1,\ 1)\ \to\ (2,\ 1)\ \to\ (2,\ 2) の場合,str(P) =  \mathrm{str}(P)\ =\ {} YXY であり,Y 同士が隣り合う箇所は無いので,スコアは 02 = 0 0^2\ =\ 0 です. したがって,求める総和は 4 + 0 = 4 4\ +\ 0\ =\ 4 となります.

Sample Explanation 2

2 2 通りのいずれの経路の場合も str(P) =  \mathrm{str}(P)\ =\ {} XYY であり,スコアは 12 = 1 1^2\ =\ 1 です.

Sample Explanation 3

スコアの総和を 998244353 998244353 で割った余りを出力してください.