题目链接:Problem - 266B - Codeforces
题目:
解题思路:
大概意思就是一个队伍里有男生女生,男生会不好意思排在女生前而跟后面的女生换位置,一个时间段里换过的男女生就不能再换了,下个时间段再继续判断是否换位置,可以用两个相同字符串,一个字符串拿来判断是否换位置,另一个拿来交换男女生位置,一个时间段后把交换的字符串赋给判断的字符串用来进行下一个时间段的判断。
下面是c++代码:
#include<iostream>
using namespace std;
int main()
{
int n, t;
string s;
cin >> n >> t;
cin >> s;
char * arr = new char[5];
while (t != 0) {
string s1 = s;
for (int i = 1; i < s.length(); i++) {
if (s[i] == 'G' && s[i - 1] == 'B') {
s1[i] = 'B', s1[i - 1] = 'G';
}
}
s = s1;
t--;
}
cout << s;
return 0;
}