1033. 旧键盘打字(20)
时间限制
200 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?
输入格式:
输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过10
5
个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、“,”、“.”、“-”、“+”(代表上档键)。题目保证第2行输入的文字串非空。
注意:如果上档键坏掉了,那么大写的英文字母无法被打出。
输出格式:
在一行中输出能够被打出的结果文字。如果没有一个字符能被打出,则输出空行。
输入样例:
7+IE. 7_This_is_a_test.
输出样例:
_hs_s_a_tst
1 #include<stdio.h> 2 #include<math.h> 3 #include<stdlib.h> 4 #include<string.h> 5 #include<algorithm> 6 using namespace std; 7 8 int main() 9 { 10 int hashtable[150] = {}; 11 int i, j; 12 char s1[100010], s2[100010], c; 13 gets(s1); 14 gets(s2); 15 int len1, len2; 16 len1 = strlen(s1); 17 len2 = strlen(s2); 18 for(i = 0; i < len1; i++) 19 { 20 c = s1[i]; 21 hashtable[c] = 1; 22 } 23 for(i = 0; i < len2; i++) 24 { 25 c = s2[i]; 26 if(hashtable['+'] == 1 && c >= 'A' && c <= 'Z') 27 continue; 28 if(hashtable[c] == 1) 29 continue; 30 if(c >= 'a' && c <= 'z' && hashtable[c + 'A' - 'a'] == 1) 31 continue; 32 printf("%c", c); 33 } 34 printf("\n"); 35 return 0; 36 }
转载于:https://www.cnblogs.com/yomman/p/4284389.html