AT_abc259_h [ABC259Ex] Yet Another Path Counting
Description
[problemUrl]: https://atcoder.jp/contests/abc259/tasks/abc259_h
縦 $ N $ 行横 $ N $ 列のマス目があり、上から $ i $ 行目、左から $ j $ 列目のマスには整数のラベル $ a_{i,j} $ が付けられています。
いずれかのマスから始めて**右または下**に隣接するマスへの移動を $ 0 $ 回以上繰り返すことで得られる経路のうち、始点と終点のラベルが同じものの個数を $ 998244353 $ で割った余りを求めてください。
なお、$ 2 $ つの経路は通ったマス(始点・終点含む)の集合が異なる場合に区別します。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ a_{1,1} $ $ \ldots $ $ a_{1,N} $ $ \vdots $ $ a_{N,1} $ $ \ldots $ $ a_{N,N} $
Output Format
答えを出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 400 $
- $ 1\ \leq\ a_{i,j}\ \leq\ N^2 $
- 入力はすべて整数
### Sample Explanation 1
条件を満たす経路は以下の $ 6 $ 個です。(上から $ i $ 行目、左から $ j $ 列目のマスを $ (i,j) $ として、各経路で通るマスを順に示しています) - $ (1,1) $ - $ (1,1) $ → $ (1,2) $ → $ (2,2) $ - $ (1,1) $ → $ (2,1) $ → $ (2,2) $ - $ (1,2) $ - $ (2,1) $ - $ (2,2) $