模拟与高精度——字符串的展开

题目描述

输入格式

共两行。

第1行为用空格隔开的3个正整数,依次表示参数p1,p2,p3。

第2行为一行字符串,仅由数字、小写字母和减号“-”组成。行首和行末均无空格。

输出格式

共一行,为展开后的字符串

输入输出样例

输入样例 1

1 2 1
abcs-w1234-9s-4zz

输出样例 1

abcsttuuvvw1234556677889s-4zz

输入样例 2

2 3 2
a-d-d

输出样例 2

aCCCBBBd-d

说明/提示

40%的数据满足:字符串长度不超过5
100%的数据满足:1 ≤ p1 ≤ 3,1 ≤ p2 ≤ 8,1 ≤ p3 ≤ 2。字符串长度不超过100

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;int main()
{int p1,p2,p3;cin>>p1>>p2>>p3;string s,t="";cin>>s;for(int i=0;i<s.length();i++){if(s[i]!='-')t+=s[i];else{if(i!=0||i!=s.length()-1){if(((isalpha(s[i-1])&&(isalpha(s[i+1])))||(isdigit(s[i-1])&&isdigit(s[i+1])))&&s[i+1]>s[i-1]){   // 判断'-'两侧是否同为字母或者数字,并且减号右边的字符是否大于左边的字符 string m="";char c=s[i-1];int n=s[i+1]-s[i-1]-1; // '-'左右两边 相差字符的个数 if(p1==2)c=toupper(c);  // 如果 p1 = 2,则填充大写字母 if(p1==3)c='*';   //如果 p1 = 3,则填充 "*" for(int j=0;j<n;j++){if(c!='*')c=c+1;for(int q=0;q<p2;q++){  // 重复填充 p2 个字符 m+=c;}}if(p3==2) //如果 p3 = 2,则反转字符串 m reverse(m.begin(),m.end());t+=m;}else{t+=s[i];}    }else{t+=s[i];}   }}cout<<t<<endl;return 0;
}

模拟与高精度——字符串的展开相关推荐

  1. 链表,字符串题,模拟与高精度

    文章目录 1.字母转换为大写 4.24 ① 2.小猴记单词 1125 ② 3.花生采摘 4.25 ①删除链表节点 ②删除倒数第n个节点 4.26 ①反转链表 4.27 ①171.转化为26进制,exc ...

  2. 洛谷P1098 字符串的展开【字符串】【模拟】

    题目描述 在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于"d-h"或者"4-8" ...

  3. 洛谷专题训练 ——【算法1-1】模拟与高精度

    洛谷题单[算法1-1]模拟与高精度 ACM-ICPC在线模板 题单链接: [算法1-1]模拟与高精度 下面的这一坨都是洛谷题单上的东东 题单简介 恭喜大家完成了第一部分语言入门,相信大家已经可以使用 ...

  4. 洛谷——P1098 字符串的展开

    P1098 字符串的展开 题目描述 在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于"d-h"或者&q ...

  5. 信息学奥赛一本通 1848:【07NOIP提高组】字符串的展开 | OpenJudge NOI 1.7 35:字符串的展开 | 洛谷 P1098 [NOIP2007 提高组] 字符串的展开

    [题目链接] ybt 1848:[07NOIP提高组]字符串的展开 OpenJudge NOI 1.7 35:字符串的展开 洛谷 P1098 [NOIP2007 提高组] 字符串的展开 [题目考点] ...

  6. 洛谷 P1098 字符串的展开

    洛谷 P1098 字符串的展开 传送门 I'm here! 思路 大暴力字符串题 这个题让我们展开一个字符串\(某字符-某字符\),并且有三个参数对应几种不同的输出方式,首先想到打暴力,因为串特别小, ...

  7. “字符串的展开”【题解】

    "字符串的展开"的题目 题目 题目描述 在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于"d ...

  8. TYVJ P1053 字符串的展开 Label:字符 水

    背景 NOIP2007年提高组第2道 描述 在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于"d-h" ...

  9. 算法训练 字符串的展开c语言

    在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有 类似于"d-h"或者"4-8"的字串, ...

最新文章

  1. linux 笔记 一
  2. Python使用matplotlib可视化相关性分析热力图图heatmap、使用seaborn中的heatmap函数可视化相关性热力图(Correllogram)
  3. linux树莓派连接wifi密码,树莓派连接WiFi,不使用界面,多WiFi切换
  4. 【Python】刚刚,Python 3.10 正式发布了!我发现了一个可怕的功能...
  5. 集群NAS+SSD如虎添翼
  6. [有问有答] 如何用邮件安全地传递密码
  7. 16. 收款(Accepting Money)
  8. 【CMD】ping通ip
  9. 概率算法中的Monte carlo算法
  10. Grid控件 设置格子背景颜色
  11. echarts中设置地图背景图片
  12. 京东校招java面试题_2018京东校招Java笔试题
  13. 在angular 项目中使用 `npm run build` 出现 `* exceeded maximum budget` 警告或错误
  14. 基于遥感的大蒜种植面积量测
  15. 专访钟家鸣:开源锁仓,IOST要做什么?
  16. 计算机组装与维修2试卷,《计算机组装与维修》期末试卷(A) (2)
  17. 乌镇夜宴——程序员的江湖
  18. python傻瓜瓜入门
  19. wave6000可以c语言编程吗,WAVE6000使用教程初步.doc
  20. Nginx + PHP 搭建高性能web服务器

热门文章

  1. c语言rand的参数,C语言中rand()函数的用法
  2. discuz 上传头像时 提示 目录不可写 Can not write to the data/tmp folder!
  3. 让我们来探讨原本的REST
  4. 约瑟夫环c语言循环指针,约瑟夫环(c语言)(双循环、单循环)
  5. python交互界面清屏_IDLE如何清屏?
  6. 【MATLAB】多个Excel表合并(按行、按列、按Sheet
  7. mysql longblob,Mysql LONGBLOB 类型存储二进制数据 (修改+调试+整理)
  8. Unity中使用Protobuf
  9. 文件服务器单向传输数据,一种单向文件传输方法及实现该传输方法的服务器
  10. realsense + imu标定