Problem - 266B - Codeforces
题意翻译
题目描述
课间休息时,小学生、男孩和女孩在食堂里排成一队。最初孩子们站在食堂里排队。然而,过了一会儿,站在女孩们前面的男孩们开始感到尴尬,下一秒,他们会让身后的女孩站到自己前面。
让我们更精确地描述这个过程。假设队列中的位置由1到n的整数顺序编号,我们对位置号1中的人首先进行操作。如果在时间X,男孩站在第i个位置,女孩站在第i+1个位置,然后下一秒,男孩女孩的位置会交换,也就是此时第i个是女孩,第i+1个是男孩。时间是以秒为单位给出的。
你现在知道孩子们的初始位置。确定队列在T秒之后的排列方式。
输入
第一行包含两个整数n和t(1≤n,t≤50),表示队列中的人数和队列将转换成需要查找的排列的时间。
下一行输入一个字符串s,s仅由‘B’和‘G’构成(B表示男孩,G表示女孩)
输出
输出一个字符串,它描述了t秒后的排列方式。
感谢@HNYLMS_MuQiuFeng 提供翻译
按照题意翻译即可
#include<iostream>
#include<string>
using namespace std;
int main()
{int n,m;string s;cin>>n>>m;cin>>s;while(m--){for(int i = 0;i<s.size()-1;i++)if(s[i]=='B'&&s[i+1]=='G'){swap(s[i],s[i+1]);i++;}}cout<<s;
}