#include<cstdio>
#include<cstring>
using namespace std;
char s[45];
char ss[45];
int main()
{
int n;
while(scanf("%d",&n),n)
{
memset(s,0,sizeof(s));
memset(ss,0,sizeof(ss));
scanf("%s",s+1);
int ll=strlen(s+1);
int j=ll;
for(int i=1; i<=ll; i++)
{
ss[j--]=s[i];
}
for(int i=1; i<=ll; i++)
{
if(ss[i]=='_')
{
if(n==1)
ss[i]='.';
else
ss[i]='A'+n-2;
continue;
}
if(ss[i]=='.')
{
if(n==27)
ss[i]='_';
else
ss[i]='A'+n-1;
continue;
}
int len='Z'-ss[i];
if(n>len)
{
len=n-len;
if(len==1)
{
ss[i]='_';
}
if(len==2)
ss[i]='.';
if(len>2)
ss[i]='A'+len-3;
}
else
ss[i]=ss[i]+n;
}
printf("%s\n",ss+1);
}
return 0;
}
csu 1567: Reverse Rot
最新推荐文章于 2017-07-31 20:19:18 发布