CF1606A.AB Balance
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a string s of length n consisting of characters a and/or b.
Let AB(s) be the number of occurrences of string ab in s as a substring. Analogically, BA(s) is the number of occurrences of ba in s as a substring.
In one step, you can choose any index i and replace si with character a or b.
What is the minimum number of steps you need to make to achieve AB(s)=BA(s) ?
Reminder:
The number of occurrences of string d in s as substring is the number of indices i ( 1≤i≤∣s∣−∣d∣+1 ) such that substring sisi+1…si+∣d∣−1 is equal to d . For example, AB( aabbbabaa )=2 since there are two indices i : i=2 where aabbbabaa and i=6 where aabbbabaa.
输入格式
Each test contains multiple test cases. The first line contains the number of test cases t ( 1≤t≤1000 ). Description of the test cases follows.
The first and only line of each test case contains a single string s ( 1≤∣s∣≤100 , where ∣s∣ is the length of the string s ), consisting only of characters a and/or b.
输出格式
For each test case, print the resulting string s with AB(s)=BA(s) you'll get making the minimum number of steps.
If there are multiple answers, print any of them.
输入输出样例
输入#1
4 b aabbbabaa abbb abbaab
输出#1
b aabbbabaa bbbb abbaaa
说明/提示
In the first test case, both AB(s)=0 and BA(s)=0 (there are no occurrences of ab (ba) in b), so can leave s untouched.
In the second test case, AB(s)=2 and BA(s)=2 , so you can leave s untouched.
In the third test case, AB(s)=1 and BA(s)=0 . For example, we can change s1 to b and make both values zero.
In the fourth test case, AB(s)=2 and BA(s)=1 . For example, we can change s6 to a and make both values equal to 1 .