#P581. 【HAOI2005】破译密文
【HAOI2005】破译密文
【问题描述】
信息的明文是由0利1组成的非空序列。但在网络通信中,为了信息的安全性,常对明文进行加密,用密文进行传输。密文是由0、1和若干个密码字母组成,每个密码字母代表不同的01串,例如,密文=011a0bf00a01。密码破译的关键是确定每个密码的含义。
经过长期统计分析,现在知道了每个密码的固定长度,如今,我方又截获了敌方的两段密文S1和S2,并且知道S1=S2,即两段密文代表相同的明文。你的任务是帮助情报人员对给定的两段密文进行分析,看一看有多少种可能的明文。
【输入文件】
第1行: S1 (第1段密文)
第2行: S2 (第2段密文)
第3行: N (密码总数, N<=26)
第4—N+3行: 字母i 长度i (密码用小写英文字母表示, 密码长度<=100)
【输出文件】
M(表示有M种可能的明文)
【输入样例】
100ad1
cc1
4
a 2
d 3
c 4
b 50
【输出样例】
2
【数据范围】
明文的长度<=10000
注意: 如果两个密文出现矛盾情况,则输出0。