模拟与高精度——字符串的展开
模拟与高精度——字符串的展开
题目描述
输入格式
共两行。
第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.字母转换为大写 4.24 ① 2.小猴记单词 1125 ② 3.花生采摘 4.25 ①删除链表节点 ②删除倒数第n个节点 4.26 ①反转链表 4.27 ①171.转化为26进制,exc ...
- 洛谷P1098 字符串的展开【字符串】【模拟】
题目描述 在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于"d-h"或者"4-8" ...
- 洛谷专题训练 ——【算法1-1】模拟与高精度
洛谷题单[算法1-1]模拟与高精度 ACM-ICPC在线模板 题单链接: [算法1-1]模拟与高精度 下面的这一坨都是洛谷题单上的东东 题单简介 恭喜大家完成了第一部分语言入门,相信大家已经可以使用 ...
- 洛谷——P1098 字符串的展开
P1098 字符串的展开 题目描述 在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于"d-h"或者&q ...
- 信息学奥赛一本通 1848:【07NOIP提高组】字符串的展开 | OpenJudge NOI 1.7 35:字符串的展开 | 洛谷 P1098 [NOIP2007 提高组] 字符串的展开
[题目链接] ybt 1848:[07NOIP提高组]字符串的展开 OpenJudge NOI 1.7 35:字符串的展开 洛谷 P1098 [NOIP2007 提高组] 字符串的展开 [题目考点] ...
- 洛谷 P1098 字符串的展开
洛谷 P1098 字符串的展开 传送门 I'm here! 思路 大暴力字符串题 这个题让我们展开一个字符串\(某字符-某字符\),并且有三个参数对应几种不同的输出方式,首先想到打暴力,因为串特别小, ...
- “字符串的展开”【题解】
"字符串的展开"的题目 题目 题目描述 在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于"d ...
- TYVJ P1053 字符串的展开 Label:字符 水
背景 NOIP2007年提高组第2道 描述 在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于"d-h" ...
- 算法训练 字符串的展开c语言
在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有 类似于"d-h"或者"4-8"的字串, ...
最新文章
- linux 笔记 一
- Python使用matplotlib可视化相关性分析热力图图heatmap、使用seaborn中的heatmap函数可视化相关性热力图(Correllogram)
- linux树莓派连接wifi密码,树莓派连接WiFi,不使用界面,多WiFi切换
- 【Python】刚刚,Python 3.10 正式发布了!我发现了一个可怕的功能...
- 集群NAS+SSD如虎添翼
- [有问有答] 如何用邮件安全地传递密码
- 16. 收款(Accepting Money)
- 【CMD】ping通ip
- 概率算法中的Monte carlo算法
- Grid控件 设置格子背景颜色
- echarts中设置地图背景图片
- 京东校招java面试题_2018京东校招Java笔试题
- 在angular 项目中使用 `npm run build` 出现 `* exceeded maximum budget` 警告或错误
- 基于遥感的大蒜种植面积量测
- 专访钟家鸣:开源锁仓,IOST要做什么?
- 计算机组装与维修2试卷,《计算机组装与维修》期末试卷(A) (2)
- 乌镇夜宴——程序员的江湖
- python傻瓜瓜入门
- wave6000可以c语言编程吗,WAVE6000使用教程初步.doc
- Nginx + PHP 搭建高性能web服务器
热门文章
- c语言rand的参数,C语言中rand()函数的用法
- discuz 上传头像时 提示 目录不可写 Can not write to the data/tmp folder!
- 让我们来探讨原本的REST
- 约瑟夫环c语言循环指针,约瑟夫环(c语言)(双循环、单循环)
- python交互界面清屏_IDLE如何清屏?
- 【MATLAB】多个Excel表合并(按行、按列、按Sheet
- mysql longblob,Mysql LONGBLOB 类型存储二进制数据 (修改+调试+整理)
- Unity中使用Protobuf
- 文件服务器单向传输数据,一种单向文件传输方法及实现该传输方法的服务器
- realsense + imu标定