【NHOI2018】字符串变换

NHOI2017初中组解题报告 2017年南海区青少年信息学奥林匹克竞赛初中组解题报告 阅读详情

【题目描述】
给你一个全部由大小写字母组成的字符串,你每次可以将一个小写字母变换成对应的大写字母,或把一个大写字母变换成对应的小写字母。请问:至少要进行多少次变换才可以使整个字符串全部由大写字母或全部由小写字母组成?
【输入数据】
输入共 1 行,为一个仅由大小写字母组成的字符串。
【输出数据】
输出共 1 行,1 个整数,表示至少要变换的次数。
【样例输入】
NanHaiOI
【样例输出】
4
【数据范围】
对于 100%的数据:字符串的长度小于等于 106。
【解题思路】
送分题
【参考程序】

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
string st;
int low,high;
int main()
{
    //freopen("string.in","r",stdin);
    //freopen("string.out","w",stdout);
    cin>>st;
    low=high=0;
    for (int i=0;i<st.size();i++)
    {
        if (st[i]>='a'&&st[i]<='z') low++;
        if (st[i]>='A'&&st[i]<='Z') high++;
    }
    if (low>high) cout<<high;
    else cout<<low;
    return 0;
} 
2022年03月 C/C++(五级)真题解析#中国电子学会#全国青少年软件编程等级考试 给定一个包含 5 个数字(0-9)的字符串, 例如 “02943”, 请将“12345”变换到它。你可以采取 3 种操作进行变换(1)交换相邻的两个数字(2)将一个数字加 1。如果加 1 后大于 9, 则变为 0(3)将一个数字加倍。如果加倍后大于 9,则将其变为加倍后的结果除以 10 的余数。最多只能用第 2 种操作 3 次, 第 3 种操作 2 次 求最少经过多少次操作可以完成变换。时间限制: 1000内存限制: 65536。 阅读详情

相关推荐

别再只抄代码了!深入理解MQ2传感器数据手册,搞定ppm换算公式

本文深入解析MQ2烟雾传感器的工作原理与ppm换算公式,从数据手册解读到数学建模,提供详细的校准与优化方法。通过实际案例和代码示例,帮助开发者准确测量气体浓度,解决常见问题,提升传感器应用的可靠性。

weixin_42713608的博客 504

将一串字符串中的小写字母转换为大写

PTA:给你一个字符串,把其中的小写字母转换为大写字母后输出.

2302_80325489的博客 1524

机器人控制入门

机器人控制入门 对于工科领域来说,脱离实践的学习都是肤浅的,对于控制这种强调经验的技术更是如此。如果去问一个程序员怎么学习一块技术,他必然让你去多编程。机器人领域也是。如果想把基本功打扎实,那么实践更是必不可少了。 机器人控制有三个元素:控制器(算法),执行器(电机),传感器; 控制的本质就是将规划系统的指令作为输入信息,将传感器探测得到的状态信息和导航系统的定位

彼岸花 1万+

第三章 字符串操作

str = "吉林省\t长春市\t二道区" # 使用默认间距修改字符串 print(str . expandtabs()) print("\r") # 定义间距,插入空格 print(str . expandtabs(2)) print("\r") print(str . expandtabs(12)) print("\r")吉林省 长春市 二道区吉林省 长春市 二道区吉林省 长春市 二道区rfind()方法返回子字符串在字符串中最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1。

qq_42226855的博客 4054

华为交换机与思科/华三设备LACP对接实战:手把手教你配置链路聚合

本文详细解析了华为交换机与思科、华三设备间的LACP链路聚合配置实战,涵盖核心原理、配置步骤及排错技巧。通过对比不同厂商的实现差异,提供可落地的跨厂商对接方案,助力企业网络工程师高效部署高可靠性链路聚合。

weixin_30836759的博客 422

Keil5调试遇坑记:手把手解决J-Link驱动与固件版本冲突(附老版本驱动包)

本文详细解析了Keil5与J-Link调试器版本冲突问题,特别是当出现'The connected J-Link is defective'警告时的解决方案。通过对比升级固件与降级驱动的优缺点,提供了详细的J-Link驱动降级操作指南,包括获取老版本驱动、替换步骤及常见问题排查,帮助开发者高效解决这一常见调试障碍。

metaverse5vr的博客 107

编写一个C程序,输入一个字符串,将其中的小写字母转换为大写字母后输出

了解fgets函数的主要用法和fgets与scanf的差别

2301_79783133的博客 6763

【主题建模】一种基于深度学习的主题建模方法:BERTopic(实战篇)

BERTopic 是基于深度学习的一种主题建模方法。2018 年底,Devlin et al. 提出了 Bidirectional Encoder Representations from Transformers (BERT)。BERT 是一种用于 NLP 的预训练策略,它成功地利用了句子的深层语义信息。

Data · Model · Agent · Repeat 2万+

NOI / 1.7编程基础之字符串13:将字符串中的小写字母转换成大写字母

给定一个字符串,将其中所有的小写字母转换成大写字母。

weixin_73358903的博客 522

【YOLO26实战全攻略】10——YOLO26+SAM3实战:从检测到像素级分割的全流程指南(含PCB缺陷检测案例)

本文聚焦YOLO26与SAM3的融合应用,系统讲解“检测+分割”的三种核心模式:YOLO26原生分割(轻量高效)、YOLO26检测+SAM3精细分割(精度极致)、SAM3自动标注+YOLO26蒸馏(低成本冷启动)。从环境搭建、数据集准备、模型训练、性能优化到边缘部署,提供 step-by-step 实操教程,配套完整可运行代码与执行结果。结合虚拟PCB缺陷检测案例,展示像素级缺陷识别与几何参数测量的工业级应用流程。本文兼顾新手入门与进阶提升,注重实用价值,读者可直接参考搭建自己的分割系统。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 623

FPGA&ASIC笔面试题(四):编写Verilog代码描述跨时钟域信号传输,快时钟域到慢时钟域(补充)

      跨时钟域处理从快时钟域到慢时钟域,如果是下面第一个图,cklb则可以采样到signal_a_in,但是如果只有单脉冲,如第二个图,则不能确保采样掉signal_a_in。这个时候用两级触发器同步是没有用的。 代码如下: //Synchronous module Sync_Pulse( input clka, input clkb, input rst_n, input pulse_ina, output pulse_outb, ou

千歌叹尽执夏的博客 2509

字符串转换(C++)字符串

【题目描述】 给你一个全部由大小写字母组成的字符串,你每次可以将一个小写字母变换成对应的大写字母,或把一个大写字母变换成对应的小写字母。请问:至少要进行多少次变换才可以使整个字符串全部由大写字母或全部由小写字母组成? 【输入数据】 输入共 1 行,为一个仅由大小写字母组成的字符串。 【输出数据】 输出共 1 行,1 个整数,表示至少要变换的次数。 【样例输入】 NanHaiOI 【样例输出】 4 【数据范围】 对于 100%的数据:字符串的长度小于等于 106。

DJR4088的博客 1077

Python 中 dpkt 库的详细使用指南(强大的 Python 数据包解析库)

dpkt 是一个功能强大的 Python 网络数据包解析库,支持解析和构造以太网、IP、TCP/UDP 等多种协议的数据包。其核心功能包括解析各层协议头部、读写 pcap 文件、构造自定义数据包及分析 HTTP 流量等。dpkt 提供简单易用的 API,适用于网络分析、安全研究和流量监控场景。优化技巧包括数据包过滤、批量处理和选择性解析以提高性能,常见问题如数据不完整或协议识别错误可通过异常处理和字段验证解决。典型应用场景涵盖协议分析、网络调试和自定义数据包生成。

数据知道的博客 1万+

信息学竞赛中的数学 习题集961-970(10题)

信息学竞赛中的数学 习题集961-970(10题)

青少年趣味编程 983

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

索引(填坑进度:1%)

先安利《Ever17~The Out of Infinity~》一、USACO Season 1st 2nd 3rd US Open 2016-2017 December 2016 January 2017 February 2017 2017 US Open 2015-2016 December 2015 January 2016 Februa

Nothing 502

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

L1-050 倒数第N个字符串 (15分)

给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, …, aaz, aba, abb, …, abz, …, zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。 输入格式: 输入在一行中...

m0_46168903的博客 880

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

将一个只含有大小写字母的字符串大写变成小写,小写变成大写后输出。

         如题。将一个只含有大小写字母的字符串大写变成小写,小写变成大写后输出。          输入一个有大写有小写的字符串,把字符串中的字符大小写反转输出 输入样例 1 AcDe 输出样例 1 aCdE c++代码如下 #...

雾隐雾现的至渝博客 2万+

leetcode刷题日记-转换成小写字母

题目描述:给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。 示例: 输入:s = “Hello” 输出:“hello” 输入:s = “LOVELY” 输出:“lovely” 题目解析,这是一个灰常简单的题目,准确的说一句代码就能完事,如下: class Solution: def toLowerCase(self, s: str) -> str: return s.lower()     那么我为什么还要记下这个题目呢,因为这个.

lemon_tttea的博客 1032

给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串。返回 所有可能得到的字符串集合 。以 任意顺序 返回输出。

给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串。 返回 所有可能得到的字符串集合 。以 任意顺序 返回输出。

liangzaixixixi的博客 1093

AcWing 4215. 处理字符串

给定一个由大小写字母构成的字符串,请你对该字符串进行如下处理: 将所有大写字母替换为相应的小写字母。 删除其中的所有元音字母。 在每个辅音字母前面插入一个.。 字母a,o,y,e,u,i为元音字母,其余字母均为辅音字母。 注意,y其实是半元音字母,在本题中规定其为元音字母。 输入格式 一个由大小写字母构成的字符串。 输出格式 输出处理后的字符串。 保证处理后的字符串不为空。 数据范围 所有测试点满足,字符串长度范围[1,100][1,100]。 输入样例1: tour ...

weixin_57202646的博客 823

字串变换(BFS,字符串处理)

分析:很明显用搜索来做,将每种规则装入数组中,去搜索每种变换,直到找到需要的字符串为止,我这里是用BFS来解决的。 这里有一个坑点:在我们需要改变原始字符串是,不能用替换,否则原始字符串改变会影响其他变换规则的变换,这里我们只能使用拼接压入队列中 #include<cstdio> #include<string> #include<map> #include...

Anterior_condyle的博客 851

字符串变换

蓝桥杯练习题 相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了。 今天,徐老师想测试一下大家对于字符串操作的掌握情况。徐老师自己定义了1,2,3,4,5 这5个参数分别指代不同的5种字符串操作,你需要根据传入的参数,按照徐老师的规定, 对输入字符串进行格式转化。   徐老师指定的操作如下:   1 表示全部转化为大写字母输出,如abC 变成 ABC   2 表示全部转换为小写字母输出,如abC变成abc   3 表示将字符串整个逆序输出,如 abc 变成 cba   4 表示将字符串中

无雨 1531

算法训练 字符串变换

算法训练 字符串变换   时间限制:1.0s   内存限制:256.0MB      问题描述   相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了。今天,徐老师想测试一下大家对于字符串操作的掌握情况。徐老师自己定义了1,2,3,4,5这5个参数分别指代不同的5种字符串操作,你需要根据传入的参数,按照徐老师的规定,对输入字符串进行格式转化。   徐老师指定的操作如下

越努力,越幸运!!! 2361

算法-字符串最小变换次数

题目描述 给定两个字符串,已知可以使用三种方式进行变换 插入一个字符 删除一个字符 更改一个字符 请设计一个算法,找到两个字符串之间的经历几次最小变换,可以字符串1转换成字符串2 输入描述 输入两个字符串,字符串的长度<=1000 输出描述 最小变换次数 分析: 这道题花费的很长时间,主要还是没有想到用动态规划法,我一直考虑求出最长的非连续的公共子序列问题,有点坑。也就不解释了,看看程...

jcw的博客 3261

定义一个函数,将一个字符串中的所有小写字母转换为相应的大写字母,其余字符不变

定义一个函数,将一个字符串中的所有小写字母转换为相应的大写字母,其余字符不变(题目来源:C语言程序设计第三版) #include<stdio.h> char turn(char *a) { int i; for(i=0;a[i]!='\0';i++) if(*(a+i)<='z'&&*(a+i)>='a') *(a+i)=*(a+i)-32; } ...

i_c_e_b_e_r_g_的博客 8792

将一个数组的1至26的数转换成对应的小写字母a-z,其他的数用"?"表示

 将一个数组的1至26的数转换成对应的小写字母a-z,其他的数用"?"表示,如 int [] arr = {1,2,3,67}; 则转换后的数组为 {a,b,c,?} public class Main { public static void main(String[] args) { int arr[] = { 1, 2, 3, 4, 5, 6, 45, 6, 7 }; so

csulfy的博客 6924
上一篇: 【CPLUSOJ】【动态规划】最短回文串
下一篇: 【NHOI2018】扫雷完成图
苟岂
博客等级 码龄10年 20粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值