简单模拟。按照题意处理一下字符串即可。
应该是写题号写错了,本来我在VirtualJudge是添加的POJ 并查集与生成树的题。
#include #include #include #include #include #include #include #include #include #include #include #include #define INF 0x7fffffff #define eps 1e-6 using namespace std; void Mr_j(char *str) { int len=strlen(str); char tmp=str[len-1]; for(int i=len-1;i>=0;i--) str[i]=str[i-1]; str[0]=tmp; } void Mr_c(char *str) { int i; char tmp=str[0]; for(i=0;i '0'&&str[i]<='9')str[i]--; else if(str[i]=='0')str[i]='9'; } } void Mr_m(char *str) { for(int i=0;i ='0'&&str[i]<'9')str[i]++; else if(str[i]=='9')str[i]='0'; } } int main() { char str[1001]; char order[1001]; int m; scanf("%d",&m); while(m--) { scanf("%s%s",order,str); for(int i=strlen(order)-1;i>=0;i--) { if(order[i]=='J')Mr_j(str); else if(order[i]=='C')Mr_c(str); else if(order[i]=='E')Mr_e(str); else if(order[i]=='A')Mr_a(str); else if(order[i]=='P')Mr_p(str); else if(order[i]=='M')Mr_m(str); } puts(str); } }