样例七交了七遍没过
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main()
{
int p1,p2,p3,dis;
scanf("%lld %lld %lld",&p1,&p2,&p3);
string s;
vector<char> c;
cin>>s;
c.push_back(s[0]);
for(int i=1;i<s.length();i++){
if(s[i]=='-'){
if(s[i-1]>=97&&s[i+1]<=57||s[i-1]<=57&&s[i+1]>=97||s[i-1]>=s[i+1]){
c.push_back(s[i]);
continue;
}
dis=(int)s[i+1]-(int)s[i-1]-1;
if(p3==1){
if(p1!=3){
for(int j=(int)s[i-1]+1;j<=(int)s[i-1]+dis;j++){
for(int k=0;k<p2;k++) c.push_back(j-(p1==2)*32);
}
}
if(p1==3) for(int j=0;j<p2*dis;j++) c.push_back('*');
}
if(p3==2){
if(p1!=3){
for(int j=(int)s[i-1]+dis;j>=(int)s[i-1]+1;j--){
for(int k=0;k<p2;k++) c.push_back(j-(p1==2)*32);
}
}
if(p1==3) for(int j=0;j<p2*dis;j++) c.push_back('*');
}
continue;
}
c.push_back(s[i]);
}
for(int i=0;i<c.size();i++) printf("%c",c[i]);
return 0;
}