首页 > 代码库 > POJ 2041 Unreliable Message
POJ 2041 Unreliable Message
简单模拟。按照题意处理一下字符串即可。
应该是写题号写错了,本来我在VirtualJudge是添加的POJ 并查集与生成树的题。
#include<cstdio> #include<cstring> #include<string> #include<queue> #include<algorithm> #include<queue> #include<map> #include<stack> #include<iostream> #include<list> #include<set> #include<cmath> #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<strlen(str)-1;i++) str[i]=str[i+1]; str[i]=tmp; } void Mr_e(char *str) { int len=strlen(str); int i,j; char tmp[1001]; for(i=0;i<len/2;i++) tmp[i]=str[i]; if(len&1)i++; for(j=0;i<len;i++,j++) str[j]=str[i],str[i]=tmp[j]; } void Mr_a(char *str) { int len=strlen(str); for(int i=0;i<len/2;i++) swap(str[i],str[len-i-1]); } void Mr_p(char *str) { for(int i=0;i<strlen(str);i++) { if(str[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<strlen(str);i++) { if(str[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); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。