纯模拟过的。地址: http://acm.pku.edu.cn/JudgeOnline/problem?id=2041
#include "string.h" #include "stdio.h" char s[26]; char q[7]; void A(char str[],int len) { int i; char temp; for(i=len-1;i>len-1-i;i--) { temp=str[i]; str[i]=str[len-1-i]; str[len-1-i]=temp; } } void C(char str[],int len) { int i; char temp; temp=str[0]; for(i=0;i<len-1;i++)str[i]=str[i+1]; str[i]=temp; } void J(char str[],int len) { int i; char temp; temp=str[len-1]; for(i=len-1;i>0;i--)str[i]=str[i-1]; str[i]=temp; } void E(char str[],int len) { int i; char temp; if(len%2) { for(i=0;i<len/2;i++) { temp=str[i]; str[i]=str[i+len/2+1]; str[i+len/2+1]=temp; } } else { for(i=0;i<len/2;i++) { temp=str[i]; str[i]=str[i+len/2]; str[i+len/2]=temp; } } } void P(char str[],int len) { int i; for(i=0;i<len;i++) { if(str[i]>47&&str[i]<58) { str[i]-=1; if(str[i]<=47)str[i]=57; } } } void M(char str[],int len) { int i; for(i=0;i<len;i++) { if(str[i]>47&&str[i]<58) { str[i]+=1; if(str[i]>=58)str[i]=48; } } } void f(char ch,char str[],int len) { if(ch=='A')A(str,len); if(ch=='C')C(str,len); if(ch=='E')E(str,len); if(ch=='J')J(str,len); if(ch=='M')M(str,len); if(ch=='P')P(str,len); } int main() { int n,i; int slen,qlen; scanf("%d",&n); while(n>0) { scanf("%s%s",&q,&s); slen=strlen(s); qlen=strlen(q); for(i=qlen-1;i>=0;i--)f(q[i],s,slen); printf("%s\n",s); n--; } return 0; }
|
|
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
---|
30 | 31 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|
公告
决定从线程开始!!
常用链接
留言簿(6)
随笔档案
搜索
最新评论
阅读排行榜
评论排行榜
|
|