当前位置: 首页 > news >正文

P1098 [NOIP 2007 提高组] 字符串的展开

P1098 [NOIP 2007 提高组] 字符串的展开 - 洛谷

#include<bits/stdc++.h>
using namespace std;
int p1,p2,p3;
string s,tmp;
bool pan(char a,char b)
{return (a>='0'&&a<='9' && b>='0' && b<='9'|| (a>='a'&&a<='z'&&b>='a'&&b<='z'));
}
char PP1(char c)
{if(p1==3) return '*';if(p1==2 && islower(c)) return toupper(c);return tolower(c);
}
string PP2(char c)
{return string(p2,c);
}
int main()
{cin>>p1>>p2>>p3>>s;string res;res+=s[0];for(int i=1;i<s.size()-1;tmp="",i++){if(s[i]=='-' && pan(s[i-1],s[i+1]) && s[i+1]>s[i-1]){vector<char> mid;for(char c=s[i-1]+1;c<s[i+1];c++)mid.push_back(c);if(p3==2) reverse(mid.begin(),mid.end());for(char c:mid){char t=PP1(c);res+=PP2(t);}}elseres+=s[i];}res+=s.back();cout<<res;return 0;
}

知识点

if(p1==2 && islower(c)) return toupper(c);return tolower(c);

大小写

. string(p2, '*')
  • 这是 C++ 的 std::string 构造函数用法,表示:

    创建一个由 p2* 组成的字符串。

  • 举例:如果 p2 = 3,就会创建 "***"

http://www.xdnf.cn/news/1208683.html

相关文章:

  • python案例:基于python 神经网络cnn和LDA主题分析的旅游景点满意度分析
  • 小程序中事件对象的属性与方法
  • 微算法科技(NASDAQ:MLGO)应用区块链联邦学习(BlockFL)架构,实现数据的安全传输
  • Django自带的加密算法
  • 3D游戏引擎的“眼睛“:相机系统深度揭秘与技术实现
  • 14、distance_object_model_3d算子
  • 如何用命令行快速提取PPT中的所有图片?
  • 线程崩溃是否导致进程崩溃
  • 【嵌入式电机控制#18】有刷直流串级控制
  • MySQL图解索引篇
  • 大模型技术对部分岗位的影响
  • Apache Ignite 的分布式原子类型(Atomic Types)
  • 在CSS中,如果你想设置一个元素的高度(height)与其宽度(width)相匹配,但又希望宽度使用百分比来定义,你可以通过几种方式来实现。
  • 试用SAP BTP 02C:试用SAP HANA Schemas HDI Containers
  • VSCode使用Code Runner运行C/C++输出[Done] exited with code=0 in xxx seconds
  • SpringBoot整合RocketMQ(rocketmq-client.jar)
  • C++ AI流处理核心算法实战
  • MOGA(多目标遗传算法)求解 ZDT1 双目标优化问题
  • 沪铝本周想法
  • 智能编队重构职场生态:Agentic AI 协同时代来临
  • 基于Blazor进销存管理系统
  • 对College数据进行多模型预测(R语言)
  • thingsboard 自定义动作JS编程
  • 【高阶版】R语言空间分析、模拟预测与可视化高级应用
  • 【C++算法】82.BFS解决FloodFill算法_被围绕的区域
  • Java抽Oracle数据时编码问题
  • SpringBoot整合RocketMQ(阿里云ONS)
  • CentOS安装ffmpeg并转码视频为mp4
  • 【腾讯云】EdgeOne免费版实现网站加速与安全防护
  • 通缩漩涡中的测量突围:新启航如何以国产 3D 白光干涉仪劈开半导体成本困局?