• 1033. 旧键盘打字


    1033. 旧键盘打字(20)

    时间限制
    200 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    CHEN, Yue

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?

    输入格式:

    输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过105个字符的串。可用的字符包括字母[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("
    ");
    35     return 0;
    36 }
  • 相关阅读:
    Java中的==和equals区别
    2014年06月30日
    20140625&nbsp;20:39
    20140627&nbsp;20:47
    2014年06月30日
    20140628&nbsp;16:07
    hdu 1418 抱歉 (数学)
    hdu 1302 The Snail (模拟)
    hdu 1391Number Steps
    hdu 1395 2^x mod n = 1
  • 原文地址:https://www.cnblogs.com/yomman/p/4284389.html
Copyright © 2020-2023  润新知