題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=6684
解題心得:
- 因爲是字典序,那麼第一個字符肯定是最重要的,當它發生變化時無論之後的字符怎麼變影響都可以忽略。所以這個遊戲只會玩一輪。
- 其次就是如果第一個字符是,這個時候第一個人肯定都不會去動這個字符,誰動誰輸,然後是看之後的第一個字符。
- 如果之後的字符是,那麼這個會變成,否則直接終止什麼都不改變。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll maxn = 1e6+100;
char s[maxn];
int main() {
int t; scanf("%d", &t);
while(t--) {
scanf("%s", s);
int pos = -1, len = strlen(s);
for(int i=0;i<len;i++) {
if(s[i] != 'y') {
pos = i;
break;
}
}
if(pos == -1 || s[pos] != 'z') {
printf("%s\n", s);
} else {
s[pos] = 'b';
printf("%s\n", s);
}
}
return 0;
}