试题编号: 202009-5
试题名称: 密信与计数
时间限制: 1.0s
内存限制: 256.0MB
问题描述:

问题描述
背景

小明和小鱼研究出了一套加密通信的规则。小鱼给小明发送信息(仅由小写字母组成的字符串)的流程如下:

·小鱼使用手中的密码本,将明文信息生成密文,该密文也仅由小写字母组成且与明文等长;
·小鱼将密文发送给小明;
·小明使用手中的密码本(内容与小鱼的密码本很可能不同),将密文解密为明文,该明文与小鱼的原信息一定是相同的。

解密密码本

虽然你不知道小鱼是如何加密的,但是你拿到了小明用来解密的密码本。

小明的密码本共有n页(从 1 到n编号)。每页有 26 行,对应着字母 a 到 z。每行写有一个小写字母out和一个整数next(1≤next≤n)。对于每一页,其上面的 26 个out是两两不同的。

小明在解密信息时,先将密码本翻到第 1 页,然后对于密文的每一个字符依次进行以下操作:在当前页找到该字符对应的行,在纸上写下该行的out字符,并将密码本翻到第next页。扫描完密文的每个字符后,纸上写下的字符就依次形成了明文。

下面是一个密码本的例子:

            Page 1              Page 2
'a'    (out='x',next=1)    (out='w',next=2)
'b'    (out='y',next=2)    (out='z',next=1)
'c'    (out='z',next=2)    (out='y',next=2)
'd'         ......              ......
...         ......              ......
'z'         ......              ......

在这个例子下,如果小明收到的密文为 abac,则相应的解密过程如下:

·初始时,将密码本翻到第 1 页;
·遇到密文字符 a,查到 out为x,next为 1,则向纸上写字符 x,密码本仍在第 1 页;
·遇到密文字符 b,查到out为y,next为 2,则向纸上写字符 y,将密码本翻到第 2 页;
·遇到密文字符 a,查到out为w,next为 2,则向纸上写字符 w,密码本仍在第 2 页;
·遇到密文字符 c,查到out为 y,next为 2,则向纸上写字符 y,密码本仍在第 2 页。

所以,解密得到的明文为 xywy。

词典

你还拿到了一个词典,小鱼和小明的通信内容明文都是由这个词典中的字符串拼接而成的。词典中不会有空串,不会有两个完全相同的单词,也不会存在某个单词是另一个单词的前缀

例如,词典有 4 个单词:

dog
is
good
happy

那么 dogishappy、happydogisgooddog 都是可能出现的通信内容,但是 dogood、hisappy 是不合法的明文。

此外,小鱼在编写明文时,会特别注意使它对应的密文“看起来像密文”。“看起来像密文”是指,对应的密文当中不应当包含词典中的任何词作为子串。例如明文 doggood 本身符合词典的要求,但假设它对应的密文是 xisxxyz,由于其中包含了 is 为子串,则小鱼也不会编写 doggood 这一明文。

本题的任务

给定小明的解密密码本和词典,我们定义k-合法密文是指:

·长度为 k,仅包含小写字母的字符串;
·不包含词典中的任何一个串为子串;
·其对应的明文可以通过词典中的字符串拼接而成。

除了密码本和词典以外,我们还输入正整数m。你需要对于k=1,2,3,…,m输出k-合法密文的数量。由于答案可能很大,每个数只需要对 998244353 取模后输出即可。

输入格式

第一行输入两个正整数n,m。

接下来输入小明的解密密码本。密码本包含 26 行,每行有n个元素。其中第i行第j列的元素输入密码本第j页第i行的内容。每个元素先输入out,后输入next 。例如输入 y2 表示out为 y,next为 2。注意字母和数字之间没有空格。

接下来输入词典,词典的每个单词占据一行。

输出格式

输出m行,每行一个整数,依次表示k=1,k=2,…,k=m时,k-合法密文的数量,对 998244353 取模的结果。

样例输入1

2 4
x2 w2
y2 z1
z1 y2
a2 x1
b2 a2
c1 b1
d2 c2
e2 d1
f1 e2
g2 f1
h2 g2
i1 h1
j2 i2
k2 j1
l1 k2
m2 l1
n2 m2
o1 n1
p2 o2
q2 p1
r1 q2
s2 r2
t2 s1
u1 t2
v2 u1
w2 v2
a
de
hh

样例输出1

1
2
3
5

样例1说明

样例输入2

1 30
n1
b1
k1
w1
l1
q1
r1
y1
h1
o1
f1
d1
u1
i1
g1
p1
c1
m1
v1
x1
j1
t1
z1
e1
s1
a1
yyyyy
a
sss
ffff
uuuu
n
rrrrr
zzzz
dd
l
w
x
jjj
i
tttt
kkk
ee
ggg
qq

样例输出2

4
15
62
254
1037
4238
17318
70762
289147
1181515
4827896
19727703
80611180
329392745
347717570
508636782
512101020
990699955
897183687
992683554
367164478
441771655
282208579
707622895
680435638
349679885
49272719
821317456
174000209
371253693

样例2说明

该样例的输入文件与第 18 个测试点仅有m不同(详见下述)。

评测用例规模与约定

本题共 25 个测试点,每个 4 分。

对于所有的测试点,1≤n≤50,1≤m≤1000,词典不为空且所有单词的长度之和不超过 50。

对于编号为偶数的测试点,n=1。

其他的特殊性质如下表所述:

问题链接:CCF202009-5 密信与计数
问题简述:(略)
问题分析:参考链接是100分。
程序说明:(略)
参考链接
CSP202009-5 密信与计数
题记:(略)

100分的C++语言程序如下:

CCF202009-5 密信与计数【AC自动机】(100分题解链接)相关推荐

  1. CCF201812-5 管道清洁【最小费可行流】(100分题解链接)

    试题编号: 201812-5 试题名称: 管道清洁 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 样例输入 3 0 1 4 4 1 2 A 2 3 B 3 4 C 4 1 D 5 7 ...

  2. CCF202009-4 星际旅行(100分题解链接)

    试题编号: 202009-4 试题名称: 星际旅行 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在一个n维欧几里得空间的宇宙中,小 A 打算完成一次星际旅行. 利用n维直角 ...

  3. CCF202012-4 食材运输(100分题解链接)

    试题编号: 202012-4 试题名称: 食材运输 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目背景 在T市有很多个酒店,这些酒店对于不同种类的食材有不同的需求情况,莱莱公司负责 ...

  4. CCF202006-4 1246【矩阵快速幂】(100分题解链接)

    试题编号: 202006-4 试题名称: 1246 时间限制: 1.0s 内存限制: 512.0MB 问题链接:CCF202006-4 1246 问题简述:(略) 问题分析:第一个参考链接是100分 ...

  5. CCF202006-5 乔乔和牛牛逛超市【最大流】(100分题解链接)

    试题编号: 202006-5 试题名称: 乔乔和牛牛逛超市 时间限制: 1.0s 内存限制: 512.0MB 问题链接:CCF202006-5 乔乔和牛牛逛超市 问题简述:(略) 问题分析:参考链接是 ...

  6. CCF202012-5 星际旅行【线段树】(100分题解链接)

    试题编号: 202012-5 试题名称: 星际旅行 时间限制: 3.0s 内存限制: 512.0MB 问题描述: 题目描述 乔帝要规划一次星际旅行,星际空间可以视为一个3维坐标系,乔帝有n(n≤1,0 ...

  7. CCF201909-5 城市规划【树形DP】(100分题解链接)

    试题编号: 201909-5 试题名称: 城市规划 时间限制: 3.0s 内存限制: 512.0MB 问题链接:CCF201909-5 城市规划 问题简述:(略) 问题分析:参考链接都是100分. 程 ...

  8. CCF202104-5 疫苗运输(100分题解链接)

    试题编号: 202104-5 试题名称: 疫苗运输 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 问题描述 X 市最近生产了一批疫苗,需要运往各地使用.疫苗的运输是一个困难的问题:既要 ...

  9. CCF201903-5 317号子任务(100分题解链接)

    试题编号: 201903-5 试题名称: 317号子任务 时间限制: 1.0s 内存限制: 512.0MB 问题链接:CCF201903-5 317号子任务 问题简述:(略) 问题分析:参考链接都是1 ...

最新文章

  1. fifa17服务器维护,3月17日《EA SPORTS FIFA Online 2》服务器例行停机维护公告
  2. Delphi(Tuxedo,BDE,ADO)三合一数据集组件HsTxQuery
  3. 嵌入式系统中系统时间显示
  4. apache pulsar_Apache Pulsar:分布式Pub-Sub消息系统
  5. SQL Server 2008 高可用性视频(四)-- 故障转移群集
  6. numpy二维数组改变某些数_机器学习:Python常用库——Numpy库
  7. 60-100-020-使用-MySQL 的Show Profile命令
  8. Dubbo 本地存根
  9. 空间留言软件_四款高质量高性能优质软件,强大还免费,建议偷偷收藏使用
  10. pycharm多行代码同时注释、去除注释
  11. @Transactional注解属性(2)
  12. 中介效应分析及R实现
  13. excel 实现内建函数
  14. Gartner点将分布式文件存储,浪潮存储缘何一鸣惊人?
  15. 【过分】Python监控小姐姐/小哥哥微博,了解一下??
  16. 学习笔记:Java大数据培训学校全套教程-JavaScript基础(20)
  17. 【传感器大赏】3轴模拟加速度传感器
  18. 深入理解并行编程原理与实践
  19. 微信 android 闪退问题怎么解决方法,Android里微信分享时BUG,微信界面闪退
  20. 013、full-page-writes(全页写)

热门文章

  1. pfx导入后仍然打不开加密文件_天正CAD图纸加密和解密方法
  2. Java中equals()和“==”区别
  3. 2020-08-03 手动编译Qt库(msvc2019版本)
  4. 讨论简书留言界面的设计
  5. python加密模块教程_Python hashlib加密模块常用方法解析
  6. yml配置mysql自动重连_数据库和Doctrine(转载自http://www111cnnet/phper/332/85987htm) - Doctrine...
  7. 跨域请求——jsonp与cors
  8. matlab knn,matlab自带knn函数
  9. 5.1 内存模型基础
  10. SQL基础面试题(五)