码迷,mamicode.com
首页 > 其他好文 > 详细

poj 2041 Unreliable Message 字符串处理

时间:2015-10-05 16:55:39      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

水的问题。直接附着到代码。

//poj 2041
//sep9
#include <iostream>
using namespace std;
char mode[128];
char ori[128],res[128];
int len;
void J()
{	
	ori[0]=res[len-1];
	for(int i=1;i<len;++i)
		ori[i]=res[i-1];
}
void C()
{
	ori[len-1]=res[0];
	for(int i=0;i<len-1;++i)
		ori[i]=res[i+1];
}
void E()
{
	int i;
	for(i=0;i<len/2;++i)		
		ori[i]=res[i+(len+1)/2];
	if(len%2==1)
		ori[len/2]=res[len/2];
	for(i=(len+1)/2;i<len;++i)
		ori[i]=res[i-(len+1)/2];
}
void A()
{
	for(int i=0;i<len;++i)
		ori[i]=res[len-1-i];
}
void P()
{
	for(int i=0;i<len;++i)
		if(res[i]<='9'&&res[i]>='0')
			ori[i]=res[i]=='0'?

'9':res[i]-1; else ori[i]=res[i]; } void M() { for(int i=0;i<len;++i) if(res[i]<='9'&&res[i]>='0') ori[i]=res[i]=='9'?'0':res[i]+1; else ori[i]=res[i]; } int main() { int i,n; scanf("%d",&n); while(n--){ scanf("%s%s",mode,res); len=strlen(res); ori[len]='\0'; for(i=strlen(mode)-1;i>=0;--i){ if(mode[i]=='J') J(); else if(mode[i]=='C') C(); else if(mode[i]=='E') E(); else if(mode[i]=='A') A(); else if(mode[i]=='P') P(); else if(mode[i]=='M') M(); strcpy(res,ori); } printf("%s\n",res); } return 0; }



poj 2041 Unreliable Message 字符串处理

标签:

原文地址:http://www.cnblogs.com/hrhguanli/p/4855900.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!