#include<iostream>
#include<cstdlib>
using namespace std;
char a[101];
int p1, p2, p3;
void start(void)
{
cin >> p1 >> p2 >> p3 >> a;
}
void sudoprint(char p, char q)
{
if(p<q)
switch (p1)
{
case 1:
for (char i = p + 1; i < q; i++)
for (int j = 0; j < p2; j++)
cout << char(tolower(i));
break;
case 2:
for (char i = p + 1; i < q; i++)
for (int j = 0; j < p2; j++)
cout << char(toupper(i));
break;
case 3:
for (char i = p + 1; i < q; i++)
for (int j = 0; j < p2; j++)
cout << '*';
}
else if (p > q)
switch (p1)
{
case 1:
for (int i = p-1; i > q; i--)
for (int j = 0; j < p2; j++)
cout << char(tolower(i));
break;
case 2:
for (int i = p-1; i > q; i--)
for (int j = 0; j < p2; j++)
cout << char(toupper(i));
break;
case 3:
for (int i = p-1; i>q; i--)
for (int j = 0; j < p2; j++)
cout << '*';
}
}
void show(void)
{
for (int i = 0; a[i] != '\0'; i++)
{
cout << a[i];
if ('-' == a[i + 1]&&(a[i]<a[i+2])&&(islower(a[i])&&islower(a[i+2])||isdigit(a[i])&&isdigit(a[i+2])))
{
if (a[i] + 1 == a[i + 2])
;
else if (a[i] == a[i + 2])
cout << '-';
else if (1 == p3)
sudoprint(a[i], a[i + 2]);
else if (2 == p3)
sudoprint(a[i + 2], a[i]);
i++;
}
}
}
int main()
{
start();
show();
return 0;
}
洛谷P1098 [NOIP2007 提高组] 字符串的展开进阶解法
最新推荐文章于 2023-08-24 11:13:34 发布