PAT (Basic Level)1029. 旧键盘

「PAT乙级真题解析」Basic Level 1029 旧键盘 (问题分析+完整步骤+伪代码描述+提交通过代码) 题目给定两行文字, 第一行是应该输入的文字, 第二行是实际被输入的文字, 我们需要对比两行的文字, 找出应该被输入但是没有被输入的文字, 即两行文字相差的文字. 由于没有被输入是因为键盘坏掉, 所以如果两个文字在实际文本中出现, 但是它们之间的文字没有在文本中出现, 则它们之间的文字就是缺失的。 阅读详情

https://www.patest.cn/contests/pat-b-practise/1029

题目描述:

旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。

输入格式:

输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。

输出格式:

按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有1个坏键。

输入样例:
7_This_is_a_test
_hs_s_a_es
输出样例:
7TI
不是所有字符串比较都跟CMP有关,蛤蛤。相等就两个下标值都后移,不相等就判断原串字符是否已经在错误列表,不在就按格式要求输出。

#include <iostream>
#include <string>
#include <algorithm> 
#include <cmath>
#include <iomanip>
#include <ctype.h>
using namespace std;

int main()
{
	string r = "";
	string s = "";
	bool a_flag[26] = {0} ;
	bool n_flag[10] = {0} ;
	bool s_flag = 0 ;
	cin >> s >> r ;
	int i = 0 , j = 0 ;
	while (i<s.length())
	{
		if (s[i] == r[j])  j++;
		else{//find a broken key 
			if ( s[i]=='_' && s_flag == 0) s_flag = 1, cout << '_';
			else if (isalpha(s[i]) && a_flag[toupper(s[i])-'A']==0)
				a_flag[toupper(s[i])-'A'] = 1, cout <<(char)toupper(s[i]) ;
			else if (s[i]>='0' && s[i]<='9' && n_flag[s[i]-'0'] == 0) 
				n_flag[s[i]-'0'] = 1, cout <<  s[i];
		}
		i++ ;
	}
	return 0;
}




1029 旧键盘【PAT (Basic Level) Practice (中文)】 - 知识点: - C程序设计/数组/字符串 - 方法技巧: - 给字符编号,实现字符相关量的在数组中的散列储存 阅读详情

相关推荐

宏基因组分析|完整分析流程梳理

今天先从最基础的全流程框架说起,无论是刚接触的萌新,还是想查漏补缺的同行,都能找到有用的信息。

weixin_70911870的博客 3165

PAT乙级(Basic Level)1029(C++)

1029. 旧键盘(20) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。 输入格式: 输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均

zxyolo的博客 430

百度贴吧爬虫实战:完整实现与使用指南

使用 csv 模块创建写入器,首先写入表头("标题" 和 "链接"),然后遍历帖子字典,将每个标题和链接作为一行写入文件。首先检查内容是否为空,然后通过查找 JSON 结构的起始({)和结束(})位置,提取有效的 JSON 片段。接着遍历帖子列表中的每个条目,提取标题文本和对应的链接,对于相对路径的链接会自动补全为完整的 URL。从 JSON 提取标题和链接此方法专门用于从解析后的 JSON 数据中提取帖子标题和对应的链接。提取到的标题和链接以字典形式返回,键为标题,值为对应的完整链接。

qq_63736560的博客 2016

PAT乙级(Basic Level)1010(C++)

1010. 一元多项式求导 (25) 设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。) 输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是0,但是表示为“

zxyolo的博客 987

Python+ArcGIS实战:5步搞定土壤类型预测(附随机森林模型配置技巧)

本文详细介绍了如何结合Python与ArcGIS,利用随机森林模型进行土壤类型预测。通过5个核心步骤——数据预处理、样本创建、模型构建、空间预测与精度验证,构建了一套自动化、高精度的空间预测工作流,并提供了关键的模型配置与调参技巧,助力GIS开发者高效完成土壤制图任务。

weixin_29227585的博客 396

数据库:关系运算整理大全(包括关系代数、元组关系演算、域关系演算)

数据库关系运算: 1. 关系代数(基本关系代数、附加关系代数、扩展关系代数) 2. 元组关系演算 3. 域关系演算

ysji's blog 1万+

PAT BASIC LEVEL 1029. 旧键盘(20)

1029. 旧键盘(20) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。 输入格式: 输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。

Weaton is Coding 390

【python3.7】解决报错 error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++

解决pip安装py7zr遇到的报错问题。

水w的博客 3941

PAT (Basic Level) Practice 1029

1029 旧键盘(20)(20 分)旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。输出格式:按照发现顺...

g28_gerwulf的博客 258

【NLP】语言模型的发展历程 (1)

N-gram模型是一种基于统计语言模型的文本分析算法,它用于预测文本中下一个词出现的概率,基于前面出现的n-1个词的序列。这里的n代表序列中元素的数量,因此称为N-gram。Unigram:N=1,每个单词的出现概率独立计算,不考虑上下文。Bigram:N=2,基于前一个单词预测当前单词的联合概率模型。Trigram:N=3,考虑前两个单词来预测当前单词的联合概率模型,更复杂但可能更准确。

酒酿小圆子呀~ 1668

.net core 下的PostgreSQL 异常排查—— Exception while reading from stream (0x80004005)

最近以PostgreSQL为存储介质,实现了分布式缓存的一个组件开发,在经过开发环境的测试后,顺利推送到产品组的手里,经过开发环境的验证后,终于发布到测试环境了,但问题来了,产品组反应频繁出现访问异常,返回的信息大致是:Exception while reading from stream … (0x80004005) ????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香! ????本文作者:由webmote 原创,首发于 【优快云】 ????作者格言: 生活在

网尘的技术专栏 5842

PAT (Basic Level) Practice 1029 旧键盘

cx天王盖地虎PAT (Basic Level) Practice 1029 旧键盘1.题目描述2.思路及代码思路代码 PAT (Basic Level) Practice 1029 旧键盘 1.题目描述 2.思路及代码 思路 在比较两字符串各字符的同时打印并记录坏键(保证坏键只输出一次) 比较过程就是典型的归并算法。设第一个字符串为A,第二个字符串为B。设指针i,j分别指向A,B第一个字符。当i所指字符与j所指字符相同时,说明这个键没问题,i,j同时往后移;若不同,则说明这个键坏掉了,记录并打印这个坏键

cx22757的博客 423

Buck电源设计常见的一些问题(一)半桥栅极驱动芯片共性失效问题

半桥驱动芯片主要用在器件可应用于电信,数据通信,便携式存储或更低电压系统中的电源转换器,半桥、全桥、推挽、同步降压,正激变换器和同步整流器等方面。当然难免会遇到不少问题。基本上我们在产品开发的过程中都遇到过栅极驱动芯片坏掉的情况,所以找了一些资料,学习学习。也查找查找原因。

小幽余生不加糖 2369

【PAT Basic Level】1029 旧键盘

目录题目分析代码 题目 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。 输入格式 输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线 _(代表空格)组成。题目保证 2 个字符串均非空。 输出格式 按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有 1 个坏

qq_44574887的博客 188

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

PAT (Basic Level) - 1029 旧键盘

字符串,哈希

https://www.hyperplasma.top 284

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

PAT (Basic Level) Practice 1029.旧键盘

1029.旧键盘 题目链接-1019.旧键盘 解题思路 输入a,b两个字符串,只要在b字符串中找不到a字符串中的某个字符,该键即为坏键,用字符串c存一下坏键即可 因为每个坏键只输出一次,也就是说字符串c中不存在相同的字符 在判断某个字符是否存在某个字符串中的时候可以用到string.find()函数 string.find()函数 string.find()返回值是字符或字符串在第一次在...

Fiveneves的博客 506

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

PAT(Basic level)Practice 1029 旧键盘 题解

1029 旧键盘 (20 分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。 输入格式: 输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线 _(代表空格)组成。题目保证 2 个字符串均非空。 输出...

masteren的博客 680

PAT (Basic Level) Practice 1029 旧键盘

                                       1029 旧键盘 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。 输入格式: 输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9...

Dunk.Wan 126

【PAT (Basic Level) Practice】——【散列】1029 旧键盘

文章目录一【题目难度】二【题目编号】三【题目描述】四【题目示例】五【解题思路】六【最终得分】七【代码实现】八【提交结果】 一【题目难度】 乙级 二【题目编号】 1029 旧键盘 (20 分) 三【题目描述】 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。 四【题目示例】 输入格式: 输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包

IronmanJay 282

PAT (Basic Level) 1029 旧键盘

题意 给定要求输出串和实际输出串,求坏了的键。坏键要按输入序输出,不能重复输出。只输出大写字母。 思路 模拟即可。 代码 #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); stri...

abcdefbrhdb的博客 178

PAT Basic Level 1029 旧键盘 解题思路及AC代码

字符 ASCII码

thexiaosi的博客 239

PAT Basic Level 1029 旧键盘 (20 分)

题目链接: https://pintia.cn/problem-sets/994805260223102976/problems/994805292322111488 我的代码(可能是特例未考虑): #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;cstdio&gt; #include &lt;string...

qq_41755143的博客 223

PAT (Basic Level) Practice1029 旧键盘

1029 旧键盘: 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。

PKM of bk 348
上一篇: PAT (Basic Level)1049. 数列的片段和
下一篇: PAT (Basic Level)1031. 查验身份证
sipprince
博客等级 码龄14年 19粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值