news 2026/6/10 17:06:34

C++课后习题训练记录Day61

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++课后习题训练记录Day61

1.练习项目:

问题描述

小明得到了一个长度为 n 的字符串 s ,该字符串都是由数字 0 和 1 组成,并且下标从 1 开始,小明现在需要对这个字符串进行 q 次操作,每次操作包含以下两种操作之一:

  • 操作 1 :小明查询该字符串中第一次出现 1 的位置,并将其输出,如果字符串中不存在 1 则输出 −1

  • 操作 2 :小明选择一个下标,将字符串 s 中对应该下标的值反转,即 1 变为 0 ,0 变为 1 。

小明想在短时间内快速计算出每次操作二的值,你能帮帮他吗。

输入格式

第一行,包含两个正整数 n,q (1≤n,q≤2×1e5),分别代表字符串长度和操作次数。

第二行,一个字符串 s (1≤∣s∣≤n) ,代表输入的字符串。

接下来 q 行,每行输入格式为一下之一:

  • 1,代表小明要查询该字符串中第一次出现 1 的位置,并将其输出。
  • 2 x,代表将字符串中下标为 x 的字符反转。

输出格式

对于每个操作 1 ,小明都会输出一行,包含一个正整数,代表该字符串中第一次出现 1 的位置,如果字符串中不存在 1 则输出 −1

2.选择课程

在蓝桥云课中选择课程《16届蓝桥杯省赛无忧班(C&C++ 组)4期》,选择第STL”编程10并开始练习。

3.开始练习

(1)源码:
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5;
char s[N];
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int n,q;
cin>>n>>q;
cin>>s+1;
while(q--){
char type;
cin>>type;
if(type=='1'){
for(int i=1;i<=n;i++){
if(s[i]=='1'){
cout<<i<<'\n';
break;
}else if(s[i]=='0'){
continue;
}else{
cout<<-1;
}
}
}else{
int temp;
cin>>temp;
if(s[temp]=='1'){
s[temp]='0';
}else{
s[temp]='1';
}
}
}
return 0;
}

(2)检验结果

对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。

(3)练习心得:注意每段代码末尾的分号是否存在,如不存在则需即使补充;输入法是否切换为英语模式;语法是否错误。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 13:48:36

蓝桥杯单片机备赛指南第十三讲:IIC 总线与PCF8591 AD DA 转换

** 蓝桥杯单片机备赛指南第十三讲&#xff1a;IIC 总线与PCF8591 AD DA 转换 ** 1. IIC 总线与PCF8591 硬件原理 1.1 IIC 通信协议(软件模拟) IIC (Inter-Integrated Circuit) 是一种双线串行总线。SCL (P2.0)&#xff1a;时钟线。SDA (P2.1)&#xff1a;数据线。时序核心(死记…

作者头像 李华
网站建设 2026/6/9 23:36:54

Qwen3-VL在边缘设备上的轻量化部署实践分享

Qwen3-VL在边缘设备上的轻量化部署实践分享 在智能终端日益普及的今天&#xff0c;用户对“看得懂、会思考、能操作”的AI系统提出了更高期待。无论是工厂里的巡检机器人&#xff0c;还是家庭中的语音助手&#xff0c;都希望它们不仅能听懂指令&#xff0c;还能看懂屏幕、理解环…

作者头像 李华
网站建设 2026/6/10 13:42:48

大数据数据分析与应用课程:从入门到实战的全维度解析

一、课程概述1、课程的起源与定位大数据数据分析与应用课程是大数据专业核心必修课&#xff0c;也是计算机、软件工程、电子商务等专业的热门选修课。其诞生源于数字经济时代对 “数据价值挖掘” 的核心需求 —— 随着互联网、物联网的普及&#xff0c;企业产生的结构化、非结构…

作者头像 李华
网站建设 2026/6/10 9:17:55

STM32低功耗场景下nanopb的精简配置方案

在STM32低功耗设计中&#xff0c;如何让nanopb跑得又小又快&#xff1f;你有没有遇到过这样的场景&#xff1a;电池供电的传感器节点&#xff0c;每10分钟才唤醒一次&#xff0c;结果光是把温湿度数据打包成协议格式&#xff0c;就花了好几百微秒&#xff1f;CPU多跑了半毫秒&a…

作者头像 李华
网站建设 2026/6/10 11:14:22

零基础入门:解决Keil无法识别工控模块头文件问题

从“keil找不到头文件”说起&#xff1a;一个工控开发新手的真实踩坑与破局之路刚接触嵌入式开发时&#xff0c;最让人抓狂的不是复杂的寄存器配置&#xff0c;也不是难懂的通信协议——而是当你满怀信心写下第一行#include "modbus.h"后&#xff0c;编译器冷冰冰地甩…

作者头像 李华
网站建设 2026/6/10 11:05:32

Qwen3-VL解析电子发票图像提取结构化数据

Qwen3-VL解析电子发票图像提取结构化数据 在财务自动化领域&#xff0c;处理电子发票一直是个“老难题”&#xff1a;格式五花八门、排版不一、图像质量参差&#xff0c;有些甚至歪斜模糊。传统OCR工具虽然能识别文字&#xff0c;但面对复杂的语义判断和字段映射时往往束手无策…

作者头像 李华