在线等!!!!急!急!急!
背景此暗算非彼暗算(电视剧) ,虽然我们没有电影中阿柄惊人的听力,可以辨别破译密码,但是我们也可以成为破译专家。
现在就来给大家作一个集训:
改变阿拉伯字母的顺序是文本加密中十分常用的方法,但是并不安全。也就是说,把文本中的每一个阿拉伯字母都要一致地替换成一些其他的字母。为了保证加密的可逆性,需要每个阿拉伯字母都有唯一一个替换的字母(也就说,任意两个阿拉伯字母都不可以用同一个字母来替换)。
最有效的密码分析方法就是“已知明文攻击(known-plaintext attack)”法。在此种方法中,密钥专家掌握着敌方加密的短语或语句,然后通过观察这些加密文字从而推导出译码的方法。
你现在的任务就是来破译几行加密的文本。假设每行采用了相同的替换集合,且其中某行加密前是:
the quick brown fox jumps over the lazy dog输入
首先是单独一个正整数用来说明测试的组数,后边跟着一个空白行。而且,连续两组测试之间也有一个空白行。
每组测试有多行输入组成。加密的方式如上所示。加密的文本行只包含有小写字母和空格,而且长度不超过80个字符。最多有100条输入的文本行。
输出
对应每组测试, 解密每一行的信息,并且把标准输出打印出来。如果有多于一种的解密方法,那么任何一种都可以。如果没有解密的方法,则输出信息“No solution.”
每两组测试输出之间必须用一个空白行分隔开。
1
vtz ud xnm xugm itr pyy jttk gmv xt otgm xt xnm puk ti xnm fprxq
xnm ceuob lrtzv ita hegfd tsmr xnm ypwq ktj
frtjrpgguvj otvxmdxd prm iev prmvx xnmq
输出
now is the time for all good men to come to the aid of the party
the quick brown fox jumps over the lazy dog
programming contests are fun arent they
有可能有多组测试用列,麻烦大虾了