这道题的关键是不要真的去构造解密后的字符串,而是直接统计长度变化。
根据题意:
飞行员牛牛近日收到一份密电;密文是仅由一行小写字母构成;牛牛想要破解该密文;但是由于密文太长了,因此,他想请你来帮忙破解该密文;已知密码破解规则如下:
如果字符 str[i] 为元音字母;则该处的字符的明文是它本身;
若字符 str[j] 为辅音字母;则该处的字符的明文将破解为三个字符:
1.辅音字母本身;
2.在字母表中最接近该辅音字母的元音字母,若该辅音字母正好落于两个元音字母之间,那么将选择更接近字母表开头的元音字母;若辅言字母为 'c',则将选择 元音字母 'a'而不是 'e';
3.字母表中原始辅音字母之后的下一个辅音字母;若该字母为 d 则,将选择下一个辅音字母 'f' 注意:z 的下一个辅音字母是他本身。
例如:密文 nowcoder 的明文是 nopowuxcadodeferos:由于破解后的明文太过冗长,牛牛想知道明文的长度比密文长多少?
现在给你一行字符串,请你输出明文比密文长多少;
一行中给出一行字符串;
1≤len(str)≤105
请你输出明文比密文长多少
元音字母为:aeiou
辅音字母为:bcdfghjklmnpqrstvwxyz
输入
nowcoder
输出
10
说明
破解后的明文为 nopowuxcadodeferos,长度为 18 ,比 nowcoder 长 10;
输入
china
输出
6