题目链接
解题方法:字符串的处理
题目分析
题目大意
有两种加密方式:
1.Substitution 替换加密,比如把所有的字母换成字母表中的前一个字符。
2.Permutation 排列加密,把所有的字符按照一定顺序从原字符串取出,形成一个新的字符串。
However,这两种加密方式都太弱了,很容易被识破,所以把这两种方式结合起来使用。
那么,问题来了,给你一个密文,判断该密文是否可能是原文的密文。
解析
既然替换是随意的,排列是随意的,那么什么不是随意的呢?答案是每个字母的出现次数。至于这些次数是怎么排序的,无所谓。所以我们先统计一下每一个字符的出现次数,原文的存在数组a[]里,密文的存在数组b[]里,然后sort一下,如果这26个数字每一个数字都对应一致,那么就当这两个串是对应的。(感觉逻辑上有点问题,但是没有经过严谨证明,所以无法判断。管他呢,反正Ac了…)
代码
1 |
|