题目链接:POJ6684 Rikka with Game
这是一道纯粹的思维题,能想出通思路题就过了。给出一个字符串,Rikka是尽量使字典序最小,Yuta是尽量使字典序最大。因为是Rikka优先,根据题意最优原则,除了两种特殊情况,Rikka都会选择直接结束游戏。第一种特殊情况是‘z’开头的字符串,根据最优原则,结束是‘z’会变为‘b’。第二种是以‘y’开始并一直‘y’连续(可以很多个连续的‘y’)但下一个紧接着必须是‘z’,这样根据最优原则,字符串会变成y…b。
想通之后,代码就很简单:
#include <iostream>
using namespace std;
int main()
{
int t;
char s[105];
cin>>t;
while(t--)
{
cin>>s;
if(s[0]=='z')
s[0]='b';
if(s[0]=='y')
{
int i=1;
while(s[i]=='y')
{
i++;
}
if(s[i]=='z')
s[i]='b';
}
cout<<s<<endl;
}
return 0;
}