University
Time Limit: 1000 ms Case Time Limit: 1000 ms Memory Limit: 64 MB
Description
在大学里,很多单词都是一词多义,偶尔在文章里还要用引申义。这困扰Redraiment很长的时间。
他开始搜集那些单词的所有意义。他发现了一些规律,例如
“a”能用“e”来代替, “c”能用“f”来代替……
现在他给出了字母的替换规则,如下所示,A被E替换,B被C替换,依次类推。
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
E C F A J K L B D G H I V W Z Y M N O P Q R S T U X
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
e r w q t y g h b n u i o p s j k d l f a z x c v m
他开始搜集那些单词的所有意义。他发现了一些规律,例如
“a”能用“e”来代替, “c”能用“f”来代替……
现在他给出了字母的替换规则,如下所示,A被E替换,B被C替换,依次类推。
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
E C F A J K L B D G H I V W Z Y M N O P Q R S T U X
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
e r w q t y g h b n u i o p s j k d l f a z x c v m
Input
本题包括多组测试数据。
每组测试数据为一行:为仅由字母和空格组成的字符串(空格不变)。
输入以单行“#”结束。
每组测试数据为一行:为仅由字母和空格组成的字符串(空格不变)。
输入以单行“#”结束。
Output
对应每组测试数据,替换后输出它的引申义。
Sample Input
Original | Transformed |
Ilttabaje zaujljg
#
Sample Output
Original | Transformed |
Different meaning
Source
陆泽西
——————————————————————分割线——————————————————————
思路:据说这道题涉及 映射。好像还是键盘映射,但是俺不会。俺就用粗俗的方法咯。数组一一对应就行。见笑!
代码:
1 #include <stdio.h>
2 int main(){
3 int i;
4 char B[] = {"ECFAJKLBDGHIVWZYMNOPQRSTUX"};
5 char b[] = {"erwqtyghbnuiopsjkdlfazxcvm"};
6 char c;
7 while((c = getchar()) != '#'){
8 if(c == '\n')
9 printf("\n");
10 if(c >= 'A'&&c <= 'Z'){
11 i = c - 65;
12 printf("%c", B[i]);
13 }
14 if(c >= 'a'&&c <= 'z'){
15 i = c - 97;
16 printf("%c", b[i]);
17 }
18 if(c == ' ')
19 printf(" ");
20 }
21 return 0;
22 }