PAT 乙级 1029 旧键盘(20) C++版
2024-10-17 00:34:13
1029. 旧键盘(20)
时间限制
200 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。
输入格式:
输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。
输出格式:
按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有1个坏键。
输入样例:
7_This_is_a_test
_hs_s_a_es
输出样例:
7TI 思路:输入之后,一一比较,如果不同则是缺失的,为了输出方便,当碰到小写字母时就转为大写存储,否则直接存储,然后在输出时判断前面是否输出相同元素即可
// 1029.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include<iostream>
#include<vector>
#include<string>
#include<cctype>
#include<algorithm> using namespace std; int main()
{
string input, output;
vector<char> v; getline(cin, input);
getline(cin, output); for (int i = ,j=; i < input.size(); ++i)
{
if (input[i] != output[j])//如果不同即为缺失的
{
if (islower(input[i]))//如果是小写,转为大写
input[i]=toupper(input[i]); v.push_back(input[i]);
}
else
++j;
} vector<char>::iterator i,begin = v.begin(), end = v.end(); for (i = begin; i != end; ++i)
{
if (find(begin, i, *i) == i)//如果前面未出现则输出
cout << *i;
} cout << endl; return ;
}
最新文章
- Struts2中method={1}
- 天地图应用ArcGIS发布的服务
- Windows Azure Traffic Manager (6) 使用Traffic Manager,实现本地应用+云端应用的高可用
- hdu 1329 Hanoi Tower Troubles Again!
- 【ZOJ】2112 Dynamic Rankings
- 依赖注入框架Autofac源码阅读指南
- ASP.NET MVC 第七回 UrlHelper
- 使用lombok
- 远程唤醒、WOL、Magic_Packet
- Tinyhttpd 代码学习
- 初识LINUX之常见命令
- [SDOI2008]Sue的小球
- 学习ActiveMQ(六):JMS消息的确认与重发机制
- 基于xposed实现android注册系统服务,解决跨进程共享数据问题
- 使用DDL触发器同步多个数据库结构
- Objective-C 符号化
- cocos2d-x JS 计算赋值时出现 NaN
- Unity中的四个路径
- Windows10+VS2017 用GLFW+GLAD 搭建OpenGL开发环境
- Yii正则验证
热门文章
- The markup in the document following the root element must be well-formed.	Quartz.xml .......
- 20155208徐子涵 2016-2017-2 《Java程序设计》第8周学习总结
- Thread sleep() wait()
- SkyWalking+SkyApm-dotnet分布式链路追踪系统
- 从 Godaddy 转移域名到 Namesilo
- Gravitee.io Access Management 组件
- gaia 开源多语言的pipeline 平台
- 02HDFS架构
- thinkphp5 列表页数据分页查询-带搜索条件
- Spring Boot 配置详解