📄 pku2041.cpp
字号:
#include <iostream>
#include <string>
using namespace std;
string s;
string m;
int l;
void DoJ()
{
int i;
char t;
t = s[l - 1];
for (i = l - 1; i > 0; i--)
{
s[i] = s[i - 1];
}
s[0] = t;
}
void DoC()
{
int i;
char t;
t = s[0];
for (i = 0; i < l - 1; i++)
{
s[i] = s[i + 1];
}
s[l - 1] = t;
}
void DoE()
{
int i, d;
char t;
d = (l + 1) / 2;
for (i = 0; i < l / 2; i++)
{
t = s[i];
s[i] = s[i + d];
s[i + d] = t;
}
}
void DoA()
{
int i, j;
char t;
i = 0;
j = l - 1;
while (i < j)
{
t = s[i];
s[i] = s[j];
s[j] = t;
i++;
j--;
}
}
void DoP()
{
int i;
for (i = 0; i < l; i++)
{
if (s[i] > '0' && s[i] <= '9')
{
s[i]--;
}
else if (s[i] == '0')
{
s[i] = '9';
}
}
}
void DoM()
{
int i;
for (i = 0; i < l; i++)
{
if (s[i] >= '0' && s[i] < '9')
{
s[i]++;
}
else if (s[i] == '9')
{
s[i] = '0';
}
}
}
void Do()
{
int i, j, p;
p = m.length();
l = s.length();
while (p--)
{
// printf("mp = %c\n", m[p]);
if (m[p] == 'J')
{
DoJ();
}
else if (m[p] == 'C')
{
DoC();
}
else if (m[p] == 'E')
{
DoE();
}
else if (m[p] == 'A')
{
DoA();
}
else if (m[p] == 'P')
{
DoP();
}
else
{
DoM();
}
}
}
int main()
{
int T;
cin>>T;
while (T--)
{
cin>>m>>s;
Do();
cout<<s<<endl;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -