P1098 字符串的展开——细节决定成败
2024-10-21 14:45:25
规则有点多吧;
isdigit(char) 表示如果字符是数字返回一,否则返回0;
倒序做一个下标就行了;
巧用三目运算符避开分类讨论,避开开头和结尾,根据条件层层逼近;
#include<cstring>
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
const int maxn=;
char s[maxn],ans[maxn];
int pos;
int p1,p2,p3; int main()
{
scanf("%d%d%d",&p1,&p2,&p3);
scanf("%s",s);
int len=strlen(s);
ans[pos++]=s[];
for(int i=;i<len-;i++)
{
if(s[i]=='-'&&s[i-]!='-')
{
if((isdigit(s[i-])!=isdigit(s[i+]))||s[i-]>=s[i+]) {ans[pos++]=s[i];continue;}
int qw=s[i+]-s[i-]-;
for(int j=;j<=qw;j++)
{
int now=(p3==?j:qw-j+);
for(int k=;k<=p2;k++)
{
if(p1==) ans[pos++]='*';
else ans[pos++]=s[i-]+now-(!isdigit(s[i-])&&p1==?:);
}
}
}
else ans[pos++]=s[i];
}
ans[pos]=s[len-];
cout<<ans;
return ;
}
最新文章
- PHP 原型模式
- UML——在Visual Studio 2013/2015中设计UML类图
- Scrum Meeting---Eight(2015-11-3)
- IMX51+WINCE6.0平台缩写意义
- Delphi TcxTreelist 表格左边总是缩进去 ,好像有偏移 解决方法
- 程序员带你十天快速入门Python,玩转电脑软件开发(四)
- Android(java)学习笔记246:ContentProvider使用之学习ContentProvider(内容提供者)的目的
- IIS6添加5.3.27 /西部数据网站管理助理升级php
- 4月13日 php
- 【MFC学习笔记-作业9-基于单击响应的计算平均成绩】【】
- Codeforces 12D Ball 树形阵列模拟3排序元素
- JavaScript JSON timer(计时器) AJAX HTTP请求 同源策略 跨域请求
- 制作流程图,activity,好不容易找到的
- BZOJ-1968
- JAVA 的关键字 、
- [BZOJ]1023 cactus仙人掌图(SHOI2008)
- c语言的第三次作业
- Java微服务之Spring Boot on Docker
- acl权限命令
- Visual Studio中定义OVERFLOW不能用