10月20日 字符串展开

Posted zjzjzj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10月20日 字符串展开相关的知识,希望对你有一定的参考价值。

题目

 

 

技术分享图片

分析

      枚举‘-’号位置就好了

代码

 1 #include<iostream>
 2 using namespace std;
 3 int main ()
 4 {
 5     int p1,p2,p3;
 6     cin>>p1>>p2>>p3;
 7     string s,c;
 8     cin>>s;
 9     int kk=0;
10     for (int i=0;i<s.size();i++)
11       if (s[i]==-)
12       {
13           c+=s[i];
14           kk=i+1;
15       }
16       else break;
17     for (int i=kk;i<s.size();i++)
18     {
19         if (s[i]!=-)
20           c+=s[i];
21         else
22         {
23             if (s[i+1]==-)
24             {
25                 c+="--";
26                 i++;
27                 continue;
28             }
29             if (s[i+1]<=s[i-1]||(s[i-1]>=0&&s[i-1]<=9&&s[i+1]>9))
30             {
31                 c+=-;
32                 continue;
33             }
34             if (s[i-1]+1==s[i+1])
35                continue;
36             int a=s[i-1],b=s[i+1];
37             string t;
38             if (p1==1)
39             {
40                 if (a>=A&&a<=Z)
41                    a=a-A+a;
42                 if (b>=A&&b<=Z)
43                    b=b-A+a;
44                 for(int i=a+1;i<b;i++)
45                   for (int j=1;j<=p2;j++)
46                     t+=i;
47             }
48             if (p1==2)
49             {
50                 if (a>=a&&a<=z)
51                   a=a-a+A;
52                 if (b>=a&&b<=z)
53                   b=b-a+A;
54                 for(int i=a+1;i<b;i++)
55                   for (int j=1;j<=p2;j++)
56                     t+=i;
57                 
58             }
59             if (p3==2)
60             {
61                 string tt;
62                 for (int i=t.size()-1;i>=0;i--)
63                    tt+=t[i];
64                 t=tt;
65             }
66             if (p1==3)
67             {
68                 if (a>=a&&a<=z)
69                   a=a-a+A;
70                 if (b>=a&&b<=z)
71                   b=b-a+A;
72                 for(int i=a+1;i<b;i++)
73                   for (int j=1;j<=p2;j++)
74                     t+=*;
75             }
76             c+=t;
77         }
78     }
79     cout<<c;
80 }

 

以上是关于10月20日 字符串展开的主要内容,如果未能解决你的问题,请参考以下文章

java 有字符串2014-9-10 11:20如何分别取得月,日,时,分

软件工程第六周psp

10月20日 迷之阶梯

2022年1月2日用英语怎么说

bash命令行返回值和展开

每周例行报告