代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int p1,p2,p3;
string s;
cin>>p1>>p2>>p3;
cin>>s;
for (int i=0;i<s.size();i++)
{
if ((s[i+1]=='-' && s[i+2]>s[i]) && (s[i+2]<='9' || s[i]>='a'))
{
char left=s[i],right=s[i+2];
s.erase(s.begin() + i+1);
if (p3==1)
{
for (char j=s[i+1]-1;j>=s[i]+1;j--)
{
if (p1==1 || (p1==2 && right<='9'))s.insert(i+1,p2,j);
else if(p1==2 && left>='a')s.insert(i+1,p2,j-32);
else if(p1==3)s.insert(i+1,p2,'*');
}
}
else if(p3==2)
{
char start=s[i]+1;
char end=s[i+1]-1;
for (char j=start;j<=end;j++)
{
if (p1==1 || (p1==2 && right<='9'))s.insert(i+1,p2,j);
else if(p1==2 && left>='a')s.insert(i+1,p2,j-32);
else if(p1==3)s.insert(i+1,p2,'*');
}
}
}
}
cout<<s;
}