PAT B1033. 旧键盘打字
来源:互联网 发布:centos 安装桌面 编辑:程序博客网 时间:2024/05/23 00:10
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?
输入格式:
输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过105个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、“,”、“.”、“-”、“+”(代表上档键)。题目保证第2行输入的文字串非空。
注意:如果上档键坏掉了,那么大写的英文字母无法被打出。
输出格式:
在一行中输出能够被打出的结果文字。如果没有一个字符能被打出,则输出空行。
输入样例:7+IE.7_This_is_a_test.输出样例:
_hs_s_a_tst
题解
#include<cstdio>#include<unordered_map>#include<iostream>using namespace std;int main() {unordered_map<char, bool> brokenkey;char temp;while ((temp=getchar()) != '\n') {if (temp >= 'A'&&temp <= 'Z')brokenkey[temp - 'A' + 'a'] = true;else if (temp == '+'&&brokenkey.find('+')==brokenkey.end()) {for (int i = 65; i <= 90; i++)brokenkey[(char)i] = true;}brokenkey[temp] = true;}while ((temp = getchar()) != '\n') {if (temp == '+') {scanf("%c", temp);if (temp >= 'a'&&temp <= 'z')temp -= 32;}if(brokenkey.find(temp)==brokenkey.end())cout<<temp;}return 0;}//这道题也是采取先遍历坏键设置标记再遍历输出
阅读全文
0 0
- PAT B1033. 旧键盘打字
- PAT乙级练习题B1033. 旧键盘打字
- PAT:B1033. 旧键盘打字(16/20)
- B1033. 旧键盘打字(20)
- 散列入门(3)----pat-b1033. 旧键盘打字(20)
- pat-旧键盘打字
- PAT 1033旧键盘打字
- PAT 1033. 旧键盘打字(20)
- PAT(BASIC)1033. 旧键盘打字(20)
- PAT Basic 1033. 旧键盘打字(20)
- 【PAT】1033. 旧键盘打字(20)
- PAT乙级 旧键盘打字(20)
- PAT (Basic Level)1033. 旧键盘打字
- PAT 乙级 1033. 旧键盘打字
- PAT-B 1033. 旧键盘打字
- PAT 1033旧键盘打字 16分
- PAT-乙级-1033. 旧键盘打字(20)
- PAT-B 1033. 旧键盘打字
- 杭电OJ 1004
- manjaro使用国内软件源
- 如何在thinkphp模板中获取控制器session的值
- 如何让c语言使用结构体近似模拟c++中的类
- spring cloud 入门实践系列
- PAT B1033. 旧键盘打字
- android studio的cmake中调用opengles库,实现c++编译opengles
- 百练_4137:最小新整数
- 函数中全局变量与局部变量
- 7.26--SSH学习之SpringMVC小Demo
- linux下NFS服务器的安装与配置 亲测
- NEUOJ 1210(The number of triangulation-计算几何+剪枝)
- CF 86D Powerful array(莫队)
- 折纸问题