#include<stdio.h>
#include<string.h>
char a[2000];
int p1,p2,p3;
int main()
{
int flag(int x);
void unfold(int x);
int i,j,la;
scanf("%d%d%d",&p1,&p2,&p3);
scanf("%s",a);
la=strlen(a);
for(i=0;i<la;i++)
{
if(a[i]=='-'&&i!=0&&i!=la-1)
{
switch(flag(i))
{
case 0:printf("-");break;
case 1:unfold(i);break;
case 2:break;
}
}
else
{
printf("%c",a[i]);
}
}
return 0;
}
int flag(int x)
{
int t=0;
if(('0'<=a[x-1]<='9'&&'0'<=a[x+1]<='9'&&a[x-1]<a[x+1])||('a'<=a[x-1]<='z'&&'a'<=a[x+1]<='z'&&a[x-1]<a[x+1]))
{
if(a[x+1]-a[x-1]==1)
{
t=2;
}
else
{
t=1;
}
}
return t;
}
void unfold(int x)
{
char letter(char x);
char c1,c2;
int i,j;
c1=a[x-1];c2=a[x+1];
if(p3==1)
{
while(c1<c2-1)
{
c1++;
for(j=0;j<p2;j++)
{
printf("%c",letter(c1));
}
}
}
else
{
while(c1<c2-1)
{
c2--;
for(j=0;j<p2;j++)
{
printf("%c",letter(c2));
}
}
}
}
char letter(char x)
{
if(p1==1)return x;
if(p1==2)return x-32;
if(p1==3)return '*';
}
有用例过不了,不知道为什么,求助大佬