AT_ndpc2026_c 文字列

题目描述

给定三个字符串 $S_1, S_2, S_3$,每个字符串均由小写英文字母组成。请你计算有多少个长度为 $N$ 的字符串 $T$(同样仅由小写英文字母组成),使得 $S_1, S_2, S_3$ 都不会作为 $T$ 的子序列出现。请将结果对 $998244353$ 取模后输出。

输入格式

输入由标准输入给出,格式如下: > $N$ $S_1$ $S_2$ $S_3$

输出格式

输出一个整数,表示长度为 $N$ 的,仅由小写英文字母组成,且 $S_1, S_2, S_3$ 都不会作为子序列出现的字符串 $T$ 的数量,对 $998244353$ 取模。

说明/提示

### 样例解释 1 共有 $676$ 个长度为 $2$ 的字符串,由小写英文字母组成。其中有 $1$ 个字符串包含 $S_2 = \texttt{de}$,有 $51$ 个字符串包含 $S_3 = \texttt{f}$。这两类字符串不会相互重叠。因此答案为 $676 - 1 - 51 = 624$。 ### 样例解释 2 注意,条件中的“子序列”不同于“子串”。 例如,`accb` 包含 `ab` 作为子序列,因此不满足条件。 ### 约束条件 - $1 \leq N \leq 10^3$ - $S_1, S_2, S_3$ 是非空字符串,由小写英文字母组成,长度不超过 $10$ - $N$ 为整数 由 ChatGPT 5 翻译