码迷,mamicode.com
首页 > 其他好文 > 详细

10月20日 字符串展开

时间:2018-10-27 14:59:11      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:for   bre   ==   style   pac   bubuko   ace   cout   图片   

题目

 

 

技术分享图片

分析

      枚举‘-’号位置就好了

代码

 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日 字符串展开

标签:for   bre   ==   style   pac   bubuko   ace   cout   图片   

原文地址:https://www.cnblogs.com/zjzjzj/p/9860792.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!