7-6 王牌特工3 (15 分)
众所周知旺仔是来自阿联酋的富二代,但是其实这一切都是假的!他的真实身份是火星情报局的王牌特工,这一切的一切都起源与一个绝密的策划......(此处省略1万字),一天晚上,旺仔特工准备向火星情报局发送一个十万火急的文件,但是怕文件泄露,所以他决定对文件进行加密,加密规则如下:
首先,在信的开头会有一个“加密信息”,接下来是正文(当
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
String S = miwen(sc.nextLine());
String s = S.toLowerCase();
int n = sc.nextInt();
sc.nextLine();
for (int i = 0; i < n; i++) {
String my = sc.nextLine();
for (int j = 0; j < my.length(); j++) {
if(my.charAt(j)>='A'&&my.charAt(j)<='Z') System.out.print((char)(65+S.indexOf(my.charAt(j))));
else if(my.charAt(j)>='a'&&my.charAt(j)<='z') System.out.print((char)(97+s.indexOf(my.charAt(j))));
else System.out.print(my.charAt(j));
}
System.out.println();
}
}
}
public static String miwen(String s) {
char arr[] = new char[26];
for (int i = 65; i <= 90; i++) {
arr[i-65] = (char)i;
}
String ss[] = new String(arr).split("["+s.charAt(0)+s.charAt(1)+s.charAt(2)+"]");
StringBuffer sb = new StringBuffer();
for (String string : ss) {
sb.append(string);
}
return s+sb;
}
}
然是加密过的火星文),要通过一定的规则把火星文解密,每个火星文字符都会变成一个对应的火星文字符。 如果“加密信息”是“ACM”,则加密规则如下: A C M B D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 你可能会发现在“加密信息”——“ACM”排在了最前面,26个火星文字符除此之外依次排列在其后。于是每个字符形成了一一对应的关系。如上对应‘A’->‘A’,‘C’->‘B’,‘M’->‘C’,‘B’->‘D’,以此类推。小写字符也相同‘a->‘a,‘c->‘b’,‘m->‘c’,‘b’->‘d’。
输入格式:
多组输入。第一行输入一个字符串,表示“加密信息”(全部为大写英文字符,且任意两个字符不相同,比如“AAB”)。第二行输入一个整数n(1<=n<=10)代表正文的行数。接下来n行,每行输入一个字符串,表示一行正文(字符串长度小于200)。
输出格式:
除加密信息外,输出n行,每行是被解密的正文。
输入样例:
ACM
2
ee ff gg jj kk aa bb cc mm dd
H al wanf zah
WCM
1
FW Fw
输出样例:
在这里给出相应的输出。例如:
ff gg hh kk ll aa dd bb cc ee
I am wang zai
HA Ha