?? 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 + -