ACGO首AC的GO
2024-06-29 14:07:42
发布于:上海
24阅读
0回复
0点赞
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int main(){
int p1,p2,p3;
cin>>p1>>p2>>p3;
string s;
cin>>s;
string newstr="";
for(int i=0;i<s.size();i++){
newstr.clear();
if(s[i]!='-'&&s[i+1]!='-')cout<<s[i];
else if(s[i]=='-'&&!i)cout<<'-';
else if(s[i]=='-'&&s[i+1]=='-')cout<<'-';
else if(s[i]=='-'){
if(s[i-1]>=97&&s[i-1]<=122&&!(s[i+1]>=97&&s[i+1]<=122)||
s[i-1]>=48&&s[i-1]<=57&&!(s[i+1]>=48&&s[i+1]<=57))cout<<'-';
else if(s[i-1]=='-'&&s[i+1]!='-')cout<<'-';
else if(s[i-1]>=97&&s[i-1]<=122&&s[i+1]>=97&&s[i+1]<=122&&s[i+1]<=s[i-1])cout<<'-';
else if(s[i-1]>=48&&s[i-1]<=57&&s[i+1]>=48&&s[i+1]<=57&&s[i+1]<=s[i-1])cout<<'-';
else continue;
}
else if(s[i]!='-'){
if((s[i]>=97&&s[i]<=122&&s[i+2]>=48&&s[i+2]<=57||
s[i+2]>=97&&s[i+2]<=122&&s[i]>=48&&s[i]<=57)||
s[i]>=s[i+2])cout<<s[i];
else{
int cha=s[i+2]-s[i];
if(s[i]>=97&&s[i]<=122){
if(p1==1)for(int j=1;j<cha;j++)for(int k=0;k<p2;k++)newstr+=s[i]+j;
if(p1==2)for(int j=1;j<cha;j++)for(int k=0;k<p2;k++)newstr+=s[i]+j-32;
if(p1==3)for(int j=1;j<cha;j++)for(int k=0;k<p2;k++)newstr+='*';
}
else if(s[i]>=48&&s[i]<=57){
if(p1==3)for(int j=1;j<cha;j++)for(int k=0;k<p2;k++)newstr+='*';
else for(int j=1;j<cha;j++)for(int k=0;k<p2;k++)newstr+=s[i]+j;
}
cout<<s[i];
if(p3==2)reverse(newstr.begin(),newstr.end());
cout<<newstr;
}
}
}
return 0;
}
这里空空如也
有帮助,赞一个