Input
The first line contains two integers n and t (1 ≤ n, t ≤ 50), which represent the number of children in the queue and the time after which the queue will transform into the arrangement you need to find.
The next line contains string s, which represents the schoolchildren’s initial arrangement. If the i-th position in the queue contains a boy, then the i-th character of string s equals “B”, otherwise the i-th character equals “G”.
Output
Print string a, which describes the arrangement after t seconds. If the i-th position has a boy after the needed time, then the i-th character a must equal “B”, otherwise it must equal “G”.
问题分析:输入总数n和循环次数t,在循环t次的情况下,字符数组从第一项到第n项循环,若第i项为‘B’,第i+1项为’G’,则将两项交换。
AC代码:
#include<iostream>
using namespace std;
int main()
{
int n, i, j, t;
char k,a[100];
cin >> n >> t;
cin >> a;
while(t--)
{
for (i = 0; i < n-1; i++)
if (a[i] == 'B'&&a[i + 1] == 'G')
{
k = a[i];
a[i] = a[i + 1];
a[i + 1] = k;
i++;
}
}
cout << a << endl;
}