记录编号 |
105358 |
评测结果 |
AAAAAAAAAA |
题目名称 |
Encrypt |
最终得分 |
100 |
用户昵称 |
Bokjan |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.003 s |
提交时间 |
2014-06-11 15:04:05 |
内存使用 |
0.31 MiB |
显示代码纯文本
#include<fstream>
#include<cstring>
using namespace std;
char ins[7],t[26];
void A(void){
for(int i=0,j=strlen(t)-1;i<j;i++,j--){
char tmp=t[i];
t[i]=t[j];
t[j]=tmp;
}
}
void C(void){
int len=strlen(t);
char tmp=t[len-1];
while(--len)
t[len]=t[len-1];
t[0]=tmp;
}
void E(void){
int len=strlen(t),mid=len/2,dist=mid;
if(len%2)
dist++;
while(mid--){
char tmp=t[mid];
t[mid]=t[mid+dist];
t[mid+dist]=tmp;
}
}
void J(void){
char tmp=t[0];
int len=strlen(t);
for(int i=1;i<len;i++)
t[i-1]=t[i];
t[len-1]=tmp;
}
void M(void){
int len=strlen(t);
for(int i=0;i<len;i++)
if(t[i]>='0'&&t[i]<='9')
if(t[i]=='0')
t[i]='9';
else
t[i]--;
}
void P(void){
int len=strlen(t);
for(int i=0;i<len;i++)
if(t[i]>='0'&&t[i]<='9')
if(t[i]=='9')
t[i]='0';
else
t[i]++;
}
int main(void){
ifstream fin("encrypta.in");
ofstream fout("encrypta.out");
fin>>ins>>t;
int ilen=strlen(ins);
while(ilen--){
switch(ins[ilen]){
case 'A':
A();
break;
case 'C':
J();
break;
case 'E':
E();
break;
case 'J':
C();
break;
case 'M':
P();
break;
case 'P':
M();
break;
}
}
fout<<t<<endl;
fin.close();
fout.close();
return 0;
}