PAT (Basic Level)1033. 旧键盘打字
2016-03-09 17:37
344 查看
https://www.patest.cn/contests/pat-b-practise/1033
题目描述:
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?
输入格式:
输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过105个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、“,”、“.”、“-”、“+”(代表上档键)。题目保证第2行输入的文字串非空。
注意:如果上档键坏掉了,那么大写的英文字母无法被打出。
输出格式:
在一行中输出能够被打出的结果文字。如果没有一个字符能被打出,则输出空行。
输入样例:
输出样例:
该题不难,但是如果总有一个一分点没过的话,就需要注意啦~~有可能键盘没有坏键~!所以用cin或者scanf就不够啦。可以用getline,如果第一行为空就是没有坏键。
题目描述:
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?
输入格式:
输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过105个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、“,”、“.”、“-”、“+”(代表上档键)。题目保证第2行输入的文字串非空。
注意:如果上档键坏掉了,那么大写的英文字母无法被打出。
输出格式:
在一行中输出能够被打出的结果文字。如果没有一个字符能被打出,则输出空行。
输入样例:
7+IE. 7_This_is_a_test.
输出样例:
_hs_s_a_tst
该题不难,但是如果总有一个一分点没过的话,就需要注意啦~~有可能键盘没有坏键~!所以用cin或者scanf就不够啦。可以用getline,如果第一行为空就是没有坏键。
#include <iostream> #include <string> #include <algorithm> #include <cmath> #include <iomanip> #include <ctype.h> using namespace std; int index(char ch) { if ( ch >= 'a' && ch <= 'z') return ch-'a' ; else if ( ch >= 'A' && ch <= 'Z') return ch-'A'+26; else if (ch >= '0' && ch <= '9') return ch-'0'+52 ; else if (ch == '_') return 62; else if (ch == ',') return 63 ; else if (ch == '.') return 64 ; else if (ch == '-') return 65 ; else if (ch == '+') return 66 ; return 67 ; } int main() { bool flag[67] ={0}; bool f = 0; string b = "" , s = ""; //cin >> b >> s ; getline(cin, b); getline(cin, s); for (int i = 0 ; i < b.length() ; i++) { flag[index(b[i])] = 1; if (isalpha(b[i])) flag[index(b[i]-'A'+'a')] = 1; } for ( int i = 0 ; i < s.length() ; i++) { if ( s[i] >= 'A' && s[i] <= 'Z' && flag[66] == 1) continue ; if ( flag[index(s[i])] ==1) continue; cout << s[i] ; f = 1 ; } if ( f==0 ) cout << endl; return 0 ; }
相关文章推荐
- Linux下添加新硬盘,分区及挂载
- 一个前端工程师的修养——序言
- 生产者-消费者模型(自定义类 与函数 2种实现方式)
- 【原创】小型互联网公司内部监控解决方案
- CodeForces 630N:Forecast【水】
- php base64
- appium使用ID进行定位click点击事件
- springmvc学习笔记(6)-springmvc整合mybatis(IDEA中通过maven构建)
- 解决iOS的Safari浏览器解析绑定了onclick事件闪烁的问题
- restful post请求DTO出现 415 unsupported_media_type
- 过滤Android系统设置中Wifi
- SpringMVC+Spring+Mybatis+Maven+mysql整合
- 2016年3月7日作业
- 微信朋友圈的推广广告怎么做好?
- EventBus的使用总结
- 修改字段
- SetMapMode,SetWindowOrg,SetViewportOrg,SetWindowExt,SetViewportExt
- iOS个人整理24-集合视图--UICollectionView
- 【Spring】Spring依赖注入与控制反转理解
- 数据降维 理论