代码:
#include<iostream>
#include<cctype>
using namespace std;
int main()
{
int a,b,c;
string s;
cin >> a >> b >> c >> s;
for(int i = 0;i < s.size();i++)
{
if(s[i] != '-')
cout << s[i];
else if((isdigit(s[i - 1]) != isdigit(s[i + 1])) || (s[i - 1] >= s[i + 1]) || (i == 0) || (s[i - 1] == '-' && s[i + 1] == '-'))
cout << '-';
else if(a == 3 && i != 0)
for(char ch = s[i - 1] + 1;ch < s[i + 1];ch++)
for(int j = 1;j <= b;j++)
cout << '*';
else if(c == 1)
{
if(a == 1)
for(char ch = s[i - 1] + 1;ch < s[i + 1];ch++)
for(int j = 1;j <= b;j++)
cout << ch;
else if(a == 2)
{
for(char ch = s[i - 1] - ' ' + 1;ch < s[i + 1] - ' ';ch++)
{
for(int j = 1;j <= b;j++)
{
if(isdigit(s[i - 1]) || isdigit(s[i + 1]))
cout << (char)(ch + 30);
else
cout << ch;
}
}
}
}
else if(c == 2)
{
if(a == 1)
for(char ch = s[i + 1] - 1;ch > s[i - 1];ch--)
for(int j = 1;j <= b;j++)
cout << ch;
else if(a == 2)
{
for(char ch = s[i + 1] - ' ' - 1;ch > s[i - 1] - ' ';ch--)
{
for(int j = 1;j <= b;j++)
{
if(isdigit(s[i - 1]) || isdigit(s[i + 1]))
cout << (char)(ch + ' ');
else
cout << ch;
}
}
}
}
}
return 0;
}