P1098 字符串的展开——细节决定成败
规则有点多吧;
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 ;
}
P1098 字符串的展开——细节决定成败的更多相关文章
- 洛谷P1098 字符串的展开
P1098 字符串的展开 题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输 ...
- 洛谷——P1098 字符串的展开
P1098 字符串的展开 题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输 ...
- P1098 字符串的展开
P1098 字符串的展开 刷新三观的模拟题 题意描述 太长了自己去看吧. 算法分析 模拟题分析你*呀! 写这篇题解的唯一原因是:三目运算符用的好的话,可以让百行大模拟变成30行水题. 代码实现 #in ...
- 洛谷P1098 字符串的展开【字符串】【模拟】
题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母或数 ...
- 洛谷 P1098 字符串的展开
题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母或数 ...
- 洛谷—— P1098 字符串的展开
https://www.luogu.org/problem/show?pid=1098 题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类 ...
- [NOIP2007] 提高组 洛谷P1098 字符串的展开
题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母获数 ...
- Luogu P1098 字符串的展开
这几天划了划水看了看初赛的试题,没写什么随笔. 今天刷刷洛谷试炼场.(不要问为什么我还在普及区) 题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串 ...
- (Java实现) 洛谷 P1098 字符串的展开
import java.util.ArrayList; import java.util.Scanner; public class zifuchuandezhankai { static Array ...
随机推荐
- jquery easyui datagrid 在翻页以后仍能记录被选中的行及刷新设置选中行数据
//easyUI的datagrid在复选框多选时,如何在翻页以后仍能记录被选中的行://注意datagrid中需要配置idField属性,一般为数据的主键 $.ajax({ type: 'GET', ...
- springboot超级详细的日志配置(基于logback)
前言 java web 下有好几种日志框架,比如:logback,log4j,log4j2(slj4f 并不是一种日志框架,它相当于定义了规范,实现了这个规范的日志框架就能够用 slj4f 调用) ...
- UIAlertController 修改文字显示实现方法
UIAlertController修改文字显示 不废话先上完整代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 UIAlertControll ...
- urllib模块中parse函数中的urlencode和quote_plus方法
本来只是向看一下quote_plus的作用,然后发现urlencode方法也是很方便的一个组合字符串的方法首先是介绍一下urlencode,他是将一些传入的元素使用&串联起来,效果如下: &g ...
- 【转】VC和VS的区别
各个版本之间的对应关系 使用windows平台搞开发时,下载第三方库时经常会遇到文件名以VCxx版本号命令,VC版本如何转换成对应的VS的版本呢,这里总结一下vc和vs的关系. Microsoft V ...
- Proxmox 命令使用方法
proxmox 虚拟机使用命令介绍 qm <command> <vmid> [OPTIONS] ...
- JAVA 的8种基本数据类型
整型 int 一般的数据 long 极大的数据 short 用于特定的场合,比如底层的文件处理或者需要控制占用存储单元空间量的大数组 byte 用于特定的场合,比如底层的文件处理或者需要控制占用存储单 ...
- typescript 箭头表达式
箭头表达式:用来声明匿名函数,消除传统匿名函数的this指针问题 1.无参 var sum = () => {} 2.一个参数 var sum = arg2 => {} 3.多个参数 va ...
- [LeetCode] 0155. Min Stack 最小栈 & C++Runtime加速
题目 Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. ...
- Educational Codeforces Round 71 (Rated for Div. 2)-E. XOR Guessing-交互题
Educational Codeforces Round 71 (Rated for Div. 2)-E. XOR Guessing-交互题 [Problem Description] 总共两次询 ...