题目描述
素质学校的学生们正在排队,学生们学习到的第一条素质守则就是:“女士优先”。
共有 nn 个人正在排队,为了方便,我们假设初始排队的人就是按照从 11 到 nn 的序列排序。
如果在时间 xx 时,一个男生站在第 ii 个位置,一个女生站在第 (i + 1)(i+1) 个位置,那么在时间 x + 1x+1 时,第 ii 个位置将有一个女生,第 (i + 1)(i+1) 个位置将有一个男生。时间以秒为单位。
例如:初始队列是男女女男女
,经过 11 秒,队列将变成 女男女女男
。
输入描述
第一行包含两个整数 nn 和 t(1 \leq n, t \leq 50)t(1≤n,t≤50),表示人数和经过的秒数。
接下来一行包含字符串 ss,表示学生们的初始排列。
注意:为了方便,男生使用B
表示,女生使用G
表示。
输出描述
最终输出经过 tt 秒变化后的序列。
输出为一行字符串,仅包含B
,G
。
输入样例
5 2
BGGBG
输出样例
GGBGB
正确代码:
#include<iostream>
using namespace std;
int main(){
int n,t;
char s[55];
cin>>n>>t;
for(int i=1;i<=n;i++){
cin>>s[i];
}
for(int i=1;i<=t;i++){
for(int j=1;j<=n-1;j++){
if(s[j]=='B'&&s[j+1]=='G'){
s[j]='G',s[j+1]='B';
j++;
}
}
}
for(int i=1;i<=n;i++){
cout<<s[i];
}
return 0;
}