Official

C - Let's Make a Palindrome Editorial by hiikunZ


文字列 \(S\) が回文であることは、前から \(i\) 文字目と前から \(N - i\) 文字目が同じ文字であること \((i \leq N - i)\) と同値です。

なので、各 \(i\) について、前から \(i\) 文字目と前から \(N - i\) 文字目を比較することを考えます。

前から \(i\) 文字目と前から \(N - i\) 文字目が異なり、かつどちらも ? でないような \(i\) が存在する \((i \leq N - i)\) 場合、答えは \(0\) 通りです。

それ以外の場合、前から \(i\) 文字目と前から \(N - i\) 文字目が共に ? であるような \(i\) \((i \leq N - i)\) の個数を \(x\) とおくと、答えは \(26^x\) 通りです。(出力するのはこの値を \(998244353\) で割ったあまりであることに注意しましょう。)

posted:
last update: