#include<iostream> #include<string> using namespace std;
int n; char regulation[10]; char mes[30]; int regulationlen; int meslen;
void processJ() { char c = mes[meslen-1]; for(int i = meslen - 1;i >= 1;i--) { mes[i] = mes[i-1]; } mes[0] = c; } void processC() {
char c = mes[0]; for(int i = 0;i < meslen - 1;i++) { mes[i] = mes[i+1]; } mes[meslen - 1] = c; } void processE() { char c; int midnum = (meslen+1)/2; for(int i = 0,k = midnum; k < meslen;k++,i++) { c = mes[i]; mes[i] = mes[k]; mes[k] = c; } } void processA() { char c; for(int i = 0,k = meslen - 1;i < meslen/2;i++,k--) {
c = mes[i]; mes[i] = mes[k]; mes[k] = c; } }
void processP() { for(int i = 0;i < meslen;i++) { if(mes[i] >= '0' && mes[i] <= '9') { mes[i] = (((mes[i] - '0') - 1 +10)%10 + '0'); } } } void processM() { for(int i = 0;i < meslen;i++) { if(mes[i] >= '0' && mes[i] <= '9') { mes[i] = (((mes[i] - '0') + 1 +10)%10 + '0'); } }
} void solve() {
regulationlen = strlen(regulation); meslen = strlen(mes); for(int i = regulationlen - 1;i >= 0;i--) { if(regulation[i] == 'J') processJ(); else if(regulation[i] == 'C') processC(); else if(regulation[i] == 'E') processE(); else if(regulation[i] == 'A') processA(); else if(regulation[i] == 'P') processP(); else if(regulation[i] == 'M') processM(); } } int main() { cin>>n; while(n--) { cin>>regulation>>mes; solve(); cout<<mes<<endl;
} return 0; }
poj2041
最新推荐文章于 2017-08-19 11:53:20 发布