CFCF2172G.Gene Editor

NOI/NOI+/CTSC

官方

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

生物学家最近在一种特定的生物体中发现了一个有趣的现象。每个生物体都拥有仅由两种类型基因组成的基因序列,这两类基因分别用字符 A 和 B 表示。

这些生物体通过无性繁殖产生后代,通常后代会继承完全相同的基因序列。然而,由于复制过程中偶尔出现的克隆错误,可能会发生变异。生物学家观察到,这些错误可能以以下形式出现:

  1. 在基因序列的任意位置插入子串 AA。
  2. 从基因序列的任意位置移除子串 AA,剩余部分会按原有顺序拼接。
  3. 在基因序列的任意位置插入子串 BBB。
  4. 从基因序列的任意位置移除子串 BBB,剩余部分会按原有顺序拼接。
  5. 在基因序列的任意位置插入特殊子串 ss
  6. 从基因序列的任意位置移除子串 ss,剩余部分会按原有顺序拼接。

这些变异在一次克隆事件中可能发生多次,并且总是按顺序、一次只进行一种。

例如,假设 s=ABABs = \texttt{ABAB}。拥有基因序列 ABBABBA 的生物体可以通过如下变异过程,最终生成基因序列 A 的后代:

生物学家们现在拥有一个基因序列为 tt 的生物体。他们同时对所有长度为 nn 的基因序列的生物体感兴趣。由于序列中的每个位置都可以是 A 或 B,这样符合条件的生物体总数为 2n2^n 个。

问题是:给定字符串 ssttnn,在所有 2n2^n 个长度为 nn 的基因序列中,有多少个可以通过一系列上述有效变异操作,从基因序列为 tt 的生物体得到?

由于答案可能非常大,请输出答案对 998244353998244353 取模后的结果。

输入格式

每组测例包含多个测试用例。第一行为测试用例个数 qq。接下来为每个测试用例的详细信息:

  • 第一行为字符串 ss,表示特殊子串。

  • 第二行为字符串 tt,表示起始基因序列。

  • 第三行为整数 nn,表示感兴趣的基因序列长度。

  • 1q101 \le q \le 10

  • 2s112 \le |s| \le 11

  • ss 的第一个字符为 A。

  • ss 的最后一个字符为 B。

  • ss 中不存在两个连续的 A。

  • ss 中不存在三个连续的 B。

  • 1t1051 \le |t| \le 10^5

  • 1n1091 \le n \le 10^9

输出格式

每个测试用例输出一行,表示答案对 998244353998244353 取模后的值。

输入输出样例

  • 输入#1

    2
    ABAB
    AABAB
    1
    ABAB
    A
    7

    输出#1

    1
    22
首页