首页 > 其他分享 >字符串的展开

字符串的展开

时间:2023-07-24 20:34:40浏览次数:33  
标签:p2 ch int char p1 字符串 展开

#include <bits/stdc++.h>
using namespace std;
int p1,p2,p3;
string S,Ans;
char ToChar(char ch){
    if(p1==3){
        return '*';
    }
    return p1==1?tolower(ch):toupper(ch);
}
int main(){
    cin>>p1>>p2>>p3>>S;
    S=' '+S+' ';//字符串两端各加一个空格,防止'-'出现在开头或末尾
    for(int i=1;i<S.size()-1;i++){
        if(S[i]!='-'){ 
            Ans+=S[i];
        }else{
            char s=S[i-1],t=S[i+1];
            if(s<t && (islower(s) && islower(t) || isdigit(s) && isdigit(t))){
                if(p3==1){ 
                    for(char i=s+1; i<=t-1; i++){//正序
                        for(int j=0;j<p2;j++){ 
                            Ans+=ToChar(i);
                        } 
                    } 
                }else{ 
                    for(char i=t-1; i>=s+1; i--){//逆序
                        for(int j=0; j<p2; j++){
                            Ans+=ToChar(i);
                        }
                    }
                }
            }else{
                Ans+='-';
            }
        }
    }
    cout<<Ans<<endl;
    return 0;
}

 

标签:p2,ch,int,char,p1,字符串,展开
From: https://www.cnblogs.com/hanxuyao/p/17578268.html

相关文章

  • (Relax 数论1.26)POJ 1496 Word Index(计算一个字符串在字典中的位置)
    大致题意:(与POJ1850基本一致)输出某个str字符串在字典中的位置,由于字典是从a=1开始的,因此str的位置值就是在str前面所有字符串的个数+1规定输入的字符串必须是升序排列。不降序列是非法字符串要求用循环输入,输入若干组字符串,若输入非法字符串则输出0,但不结束程序,这是和POJ1850......
  • 字符串的展开
    1848:【07NOIP提高组】字符串的展开时间限制:1000ms      内存限制:65536KB提交数:1091   通过数:481【题目描述】在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“D-H”或“4-8”的字串,我们就......
  • 字符串的展开
    //字符串的展开#include<bits/stdc++.h>usingnamespacestd;intp1,p2,p3;stringS,Ans;charToChar(charch){if(p1==3){return'*';}returnp1==1?tolower(ch):toupper(ch);}intmain(){cin>>p1>>p2>>p3......
  • 字符串展开
    #include<bits/stdc++.h>usingnamespacestd;intp1,p2,p3;stringS,Ans;charToChar(charch){ if(p1==3){ return'*'; } returnp1==1?tolower(ch):toupper(ch);}intmain(){ cin>>p1>>p2>>p3>>S; S='�......
  • LeetCode 热题 100 之 438. 找到字符串中所有字母异位词
    题目给定两个字符串 s 和p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词指由相同字母重排列形成的字符串(包括相同的字符串)。示例 1:输入:s="cbaebabacd",p="abc"输出:[0,6]解释:起始索引等于0的子串是"cba"......
  • 4 字符串
    字符串1反转字符串题目:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组char[]的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外空间解决这一问题。你可以假设数组中的所有字符都是ASCII码表中的可打印字符。示......
  • 康托展开及康托逆展开运算总结
    前文:这个东西是我准备进攻一道Astar算法的八数码题目时,遇到的。决定先搞懂这个,再进攻八数码(传说中那道不做人生不完整的题目)。 康托展开:百度百科给出的定义是:康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。康托展开的实质是计算当前排列在所有由小到大全......
  • 字典序相关字符串问题的 SAM 解法
    前文(SAM基础)如果你并不是很熟SAM,可以看看我远古时期的blog:浅析后缀自动机--Wallace--博客园(cnblogs.com)缘起为什么突然想到这个方面的东西,是因为在ZJU校队预组队时做到一个CF-GYM-100418C,当时一眼SA但实际上根本不熟。赛后发现有位国外老哥随手SAM暴打,一点都......
  • 转!XML文件和DOM Document、String字符串三种类型之间的相互转换
    转自:https://www.cnblogs.com/fightingdeng1998/p/16047075.html用的包是org.w3c.dom.Document下的/***@Authordengzp*@Date2022/3/22*@Version1.0*@Description*/publicclassOperateXMLByDOM{/***将给定文件的内容或者给定URI的内容解析......
  • Shell编程教程 - 字符串变量表达式
    1.字符串变量表达式基本比较示例脚本-`string_comparison.sh`字符串长度检查示例脚本-`string_length.sh`逻辑运算符连接表达式示例脚本-`logical_operators.sh`2.执行示例脚本3.结论大树哥个人信息本教程将向你介绍Shell脚本中字符串变量表达式的使用。我们将学习如何......