#include<bits/stdc++.h>
using namespace std;
int is_zifu(char x){
if(x>='0'&&x<='9')return 1;
if(x>='a'&&x<='z')return 2;
}
int main(){
int p1,p2,p3;
string s;
cin>>p1>>p2>>p3>>s;
for(int i=0;i<s.size();i++){
if(s[i]==s[i+2]&&s[i+1]=='-')cout<<s[i]<<s[i+1]<<s[i+2],i+=2;
else if(s[i]+1==s[i+2]&&s[i+1]=='-')cout<<s[i]<<s[i+2],i+=2;
else if(is_zifu(s[i])==2&&is_zifu(s[i+2])==2&&s[i+1]=='-'){
cout<<s[i];
if(p1==1){
if(p3==1)
for(char j=s[i]+1;j<s[i+2];j++)
for(int k=1;k<=p2;k++)cout<<j;
else
for(char j=s[i+2]-1;j>s[i];j--)
for(int k=1;k<=p2;k++)cout<<j;
}
else if(p1==2){
if(p3==1)
for(char j=s[i]+1-32;j<s[i+2]-32;j++)
for(int k=1;k<=p2;k++)cout<<j;
else
for(char j=s[i+2]-1-32;j>s[i]-32;j--)
for(int k=1;k<=p2;k++)cout<<j;
}
else{
for(char j=s[i]+1;j<s[i+2];j++)
for(int k=1;k<=p2;k++)cout<<"*";
}
cout<<s[i+2];
i+=2;
}
else if(is_zifu(s[i])==is_zifu(s[i+2])&&s[i+1]=='-'){
cout<<s[i];
if(p1==1){
if(p3==1)
for(char j=s[i]+1;j<s[i+2];j++)
for(int k=1;k<=p2;k++)cout<<j;
else
for(char j=s[i+2]-1;j>s[i];j--)
for(int k=1;k<=p2;k++)cout<<j;
}
else{
for(char j=s[i]+1;j<s[i+2];j++)
for(int k=1;k<=p2;k++)cout<<"*";
}
cout<<s[i+2];
i+=2;
}
else cout<<s[i];
}
return 0;
}
代码有点丑,勿喷
