2995905_ac_0ms_156k.cpp
来自「北大大牛代码 1240道题的原代码 超级权威」· C++ 代码 · 共 104 行
CPP
104 行
#include <iostream>
#include <string>
using namespace std;
void OLE()
{
while(1)
{
puts("I LOVE U Shengqi");
}
}
void solve(string &message,char op)
{
int i;
char tmp;
string tt;
switch(op)
{
case 'J':tmp = message.at(0);message = message.substr(1,message.length()-1);message += tmp;break;
case 'C':message = message.at(message.length()-1)+message.substr(0,message.length()-1);break;
case 'E':
tt = message.substr((message.length()+1)/2,message.length()/2);
if(message.length()%2==1)
{
tt += message.at(message.length()/2);
}
tt += message.substr(0,message.length()/2);
message = tt;
break;
case 'A':
tt = "";
for(i = message.length()-1; i >= 0; i--)
{
tt += message.at(i);
}
message = tt;
break;
case 'P':
tt = "";
for(i = 0; i < message.length(); i++)
{
char t;
t = message.at(i);
if(t<='9'&&t>='0')
{
if(t=='9')
t = '0';
else
t++;
}
tt += t;
}
message = tt;
break;
case 'M':
tt = "";
for(i = 0; i < message.length(); i++)
{
char t;
t = message.at(i);
if(t<='9'&&t>='0')
{
if(t=='0')
t = '9';
else
t--;
}
tt += t;
}
message = tt;
break;
default:
OLE();
}
}
int main()
{
int cas, i;
string order, tmp, message;
const string a = "JCEAPM", b = "CJEAMP";
scanf("%d",&cas);
while(cas--)
{
cin >> order >> message;
tmp = "";
for(i = order.length()-1; i >= 0; i--)
{
tmp += b.at(a.find(order.at(i)));
}
for(i = 0; i < tmp.length(); i++)
{
solve(message,tmp.at(i));
}
cout << message << endl;
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?