PTA-乙级 1078 字符串压缩与解压(stoi)

Python123之字符串压缩#134865 描述 输入一个字符串s,s由若干个非数字的字符组成且相同的字符保证连续排列,将字符串按照下列规则进行长度压缩‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬ 将字符放前面, 阅读详情

PTA-乙级 1078 字符串压缩与解压(stoi)

文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。

解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。

本题需要你根据压缩或解压的要求,对给定字符串进行处理。这里我们简单地假设原始字符串是完全由英文字母和空格组成的非空字符串。

输入格式:

输入第一行给出一个字符,如果是 C 就表示下面的字符串需要被压缩;如果是 D 就表示下面的字符串需要被解压。第二行给出需要被压缩或解压的不超过 1000 个字符的字符串,以回车结尾。题目保证字符重复个数在整型范围内,且输出文件不超过 1MB。

输出格式:

根据要求压缩或解压字符串,并在一行中输出结果。

输入样例 1:

C
TTTTThhiiiis isssss a   tesssst CAaaa as

输出样例 1:

5T2h4is i5s a3 te4st CA3a as

输入样例 2:

D
5T2h4is i5s a3 te4st CA3a as10Z

输出样例 2:

TTTTThhiiiis isssss a   tesssst CAaaa asZZZZZZZZZZ

注意点:

1.压缩:不能用 cin 来输入数据,cin 遇到空格会自动跳过,这里用 getchar() 来获取;

2.解压:参考柳神的代码,在输入数据的时候把整行数据输入为string类型,再逐个检查,如果在0-9之间,就保存在string类型的num中,如果不在就把 num 转化为整型,输出对应个数字符。

知识点:

1.字符与整型的转换:int=stoi(string) (头文件 #include<cstring>)

注意:我在用dev-C++编译遇到 'stoi' was not declared in this scope 的错误,参考网上博客,发现需要在

工具>>编译选项>>代码生成/优化>>代码生成 中调整“语言标准”为 ISO C++11

代码

#include<iostream>
#include<cstring>
using namespace std;
void yasuo(){
	char c;
	c=getchar(); //获取第一个值 
	char zf=c;
	int num=1;
	while(c!='\n'){
		c=getchar();
		if(zf==c){ num++;}
		else{
			if(num==1){	cout<<zf;}
			else{ cout<<num<<zf;}
			num=1;
			zf=c;
		}
		
	}
}
void jieya(){
	string str,num;
	int cnt=1;
	getline(cin,str);
	for(int i=0; i<str.length(); i++){
		if(str[i] >= '0' && str[i] <= '9'){
			num+=str[i];
		}
		else{
			if(num.length()>0) cnt=stoi(num);
			while(cnt--) cout<<str[i];
			cnt=1;
			num="";
		}
	} 
}
int main(){
	char ch;
	cin>>ch;
	getchar(); //去掉回车 
	if(ch=='C'){ yasuo();}
	if(ch=='D'){ jieya();}
} 
【C++】1078:求分数序列和(信息学奥赛) 点个关注吧 阅读详情

相关推荐

【华为机试真题 JAVA】一种字符串压缩表示的解压-100

有一种简易压缩算法:针对全部由小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母,其他部分保持原样不变。

weixin_52894047的博客 581

PAT乙级 | 1078 字符串压缩与解压 (20分)(详解)

文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。 解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。 本题需要你根据压缩或解压的要求,对给定字符串进行处理。这里我们简单地假设原始字符串是完全由英文字母和空格组成的非空字符串。 输入格式: 输入第一行给出一个字符,如果是 C 就表示下面的字符串需要被压缩;如果是 D

qq_44888152的博客 701

【华为OD机试】真题E卷-一种字符串压缩表示的解压(C++)

有一种简易压缩算法:针对全部为小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母,其他部分保持原样不变。例如:字符串aaabbccccd 经过压缩变成字符串 3abb4cd请您编写解压函数,根据输入的字符串, 判断其是否为合法压缩过的字符串若输入合法则输出解压缩后的字符串 否则输出字符串!error来报告错误。

u014481728的博客 894

浙大pta《计算机科学与基础》经典例题

浙大计算机常用软件书面操作习题

weixin_73891756的博客 1万+

PackML工业标准解析:统一机器状态管理与数据交换的实践指南

在工业自动化与智能制造领域,实现设备间的互联互通与高效协同是核心挑战。这背后依赖于一套标准化的机器行为与数据交换规范,其原理在于通过定义统一的状态模型与接口协议,消除不同厂商设备间的“语言”隔阂。这项技术的核心价值在于大幅降低系统集成复杂度、提升运维效率与生产透明度,是构建数字化工厂的基石。其典型应用场景包括包装机械、离散制造产线等需要多设备协同的领域。本文聚焦的PackML(包装机械语言)标准,正是这一理念的杰出实践,它通过一套严谨的**状态机模型**和**数据标签(PackTags)** 体系,为机器提

weixin_30070339的博客 401

第一届“龙信杯”电子数据取证竞赛Writeup

第一届“龙信杯”电子数据取证竞赛Writeup

toto的博客 1万+

PAT 乙级(Python) #1078 字符串压缩与解压 (20 分)

#1078 字符串压缩与解压 (20 分) 代码展示: # 1078 字符串压缩与解压 (20 分) def codeStrint(info): # 'TTTTThhiiiis isssss a tesssst CAaaa as' => '5T2h4is i5s a3 te4st CA3a as' cnt = '' char = '' for c in info: if c != char: if cnt == 1:

敲代码的小风 436

深入解析AndroidManifest.xml与device_admin.xml:打造完美DeviceOwner应用配置

本文深入解析了Android企业级开发中DeviceOwner应用的核心配置文件AndroidManifest.xml与device_admin.xml。详细阐述了如何精准声明DeviceAdminReceiver、定义管理策略,并提供了通过ADB命令进行设置与验证的实战指南,帮助开发者构建权限完整、配置正确的设备所有者应用。

ice55的博客 680

1214练习

缩短 题目描述 有一种字符串压缩方式简单易行。那就是,如果有连续很多个相同的字符,就把他们写作: “字符 + 出现次数” 的形式。例如:aaagbbbbaac 压缩成 a3gb4a2c。 现在你也来试试。 注意:字符单个出现的不作改变,只有连续出现多次才有改变。 输入格式 一个字符串,由小写英文字母组成。(长度小于 240) 输出格式 压缩后的字符串 样例输入 aaagbbbbaac 样例输出 a3gb4a2c 统计单词 题目描述 小明在学习英语单词,一边读,一边敲进电脑中。学习完后,他想统计一下某个特定

中学生信竞 1136

黑金ZYNQ7010开发板开箱实测:从接线到串口通信的保姆级指南

本文提供黑金ZYNQ7010开发板从开箱到串口通信的完整实操指南。详细介绍了硬件连接、驱动安装、启动模式设置及串口终端配置等关键步骤,并针对常见问题提供排查思路,帮助FPGA开发者快速上手ZYNQ平台,建立稳定的调试通道。

weixin_29266749的博客 466

华为手机连接Win11失败?内核隔离与驱动签名冲突的终极解决指南

在Windows操作系统中,驱动程序是硬件与系统通信的桥梁,其数字签名机制是保障系统内核安全的核心防线。基于虚拟化的安全技术通过强制验证驱动签名,能有效隔离恶意代码,提升系统抵御高级威胁的能力。然而,严格的签名策略有时会与部分硬件驱动产生兼容性问题,导致设备无法识别,直接影响文件传输、应用调试等核心工作流。本文聚焦于华为手机在开启Windows 11内核隔离功能时出现的连接故障,深入剖析驱动签名验证与Hypervisor保护的代码完整性原理,并提供从驱动更新、策略调整到无线替代方案的完整解决路径,帮助用户在

weixin_31309419的博客 353

PTA 1078 字符串压缩与解压(Python3)

PAT (Basic Level) Practice (中文)

weixin_55730361的博客 891

因果表示学习 (Causal Representation Learning, CRL)

传统的机器学习,尤其是深度学习,非常擅长学习数据中的相关性 (Correlation)。但它常常会走“捷径”,学到一些虚假的、不稳定的“表面联系”。一个AI模型在学习识别“牛”时,如果训练数据里所有的牛都在绿色的草地上,模型很可能会学到一个错误的规则:“牛 = 四条腿的生物 + 绿色背景”。你给它一张牛在海滩上的照片,它就可能不认识了。因果表示学习的目标,就是让模型超越这种表面相关性,去学习数据背后。

Xuxiansir的博客 1181

PTA 1078 字符串压缩与解压 (c++)

1078 字符串压缩与解压 (20 分) 代码如下: #include<iostream> using namespace std; int main() { char ch; string s; scanf("%c",&ch); getchar(); getline(cin,s); if(ch=='C') for(int i=0;i<s.size();...

qq_44622401的博客 514

第三节:Vben Admin登录对接后端login接口

上一节,我们梳理的Vben Admin登录功能接口的逻辑,本节开始正式开启后端的开发后端我们采用Python的Flask项目,Flask-SQLAlchemy管理数据库模型,Flask-Migrate进行模型迁移。参考版本如下:Flask3.0.23.1.1本节,我们已经开启的后端的开发,因为是主要介绍Vben Admin的登录逻辑,所以Flask开发这里只截取了部分主要代码。

cuiwin的专栏 4190

PyTorch实战(2)——使用PyTorch构建神经网络

在本节中,我们使用 PyTorch 在简单数据集上构建了一个神经网络,训练神经网络来映射输入和输出,并通过执行反向传播来更新权重值以最小化损失值,并利用 Sequential 类简化网络构建过程;介绍了获取网络中间值的常用方法,以及如何使用 save、load 方法保存和加载模型,以避免再次训练模型。

盼小辉丶的博客 1万+

【基础】字符串解压c++

【代码】【基础】字符串解压c++

fusca123的博客 445

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

c++的字符串压缩和解压(新手向)

** 新手写的简单的字符串压缩和解压 ** #include<iostream> using namespace std; void suo(string str) { int num = 1; for (int i = 0; i < str.length(); i++) { if (str[i + 1] == str[i]) { num++; } else { if (num == 1) { cout << str[i]; num

记录成长的小博客 2974

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

1078 字符串压缩与解压 ——C++实现

题目 1078 字符串压缩与解压 (20 分) 文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。 解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。 本题需要你根据压缩或解压的要求,对给定字符串...

吉大秦少游 2856

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

1078 字符串压缩与解压 (20分)C++示例代码

1078 字符串压缩与解压 (20分) 文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。 解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。 本题需要你根据压缩或解压的要求,对给定字符串进行处理。这里我们...

weixin_43143173的博客 441

PAT 1078 字符串压缩与解压

1078 字符串压缩与解压(20 分) 文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。 解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。 本题需要你根据压缩或解压的要求,对给定字符串进行处理。这...

peanWang的博客 244

字符串压缩与解压 题解

题目描述 文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。 解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。 本题需要你根据压缩或解压的要求,对给定字符串进行处理。这里我们简单地假设原始字符串是完全由英...

mie haha 2990

PAT (Basic Level) Practice 1078

1078 字符串压缩与解压(20 分) 文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。 解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。 本题需要你根据压缩或解压的要求,对给定字符串进行处理。这...

g28_gerwulf的博客 414

1104: 【基础】字符串解压

输入压缩后的字符串,输出压缩前的字符串。压缩的方法是把连续的相同字母压缩为"长度+字母"的形式,在本题中,单个的字母不需要压缩。例如:3a5bx,解压后的结果为:aaabbbbbx;例如:12ab10c2ax解压后的结果为:aaaaaaaaaaaabccccccccccaax。

为cxm学生助力 3916

1078 字符串压缩与解压 (20分)---再做

#include<stdio.h> #include<iostream> using namespace std; int main(){ char a; string str; scanf("%c",&a); getchar(); getline(cin,str); if(a=='C'){ for(...

qq_43307196的博客 902

【基础】字符串压缩

输入字符串,输出压缩后的字符串。压缩的方法是把连续的相同字母压缩为"长度+字母"的形式,在本题中,单个的字母不需要压缩。一行,一个字符串,只包含小写英文字母,长度不超过255。

q64644545的博客 1698
上一篇: PTA-乙级 1077 互评成绩计算(四舍五入)
下一篇: PTA-乙级 1080 MOOC期终成绩 (测试点4)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值