题目:女士优先

题目描述

素质学校的学生们正在排队,学生们学习到的第一条素质守则就是:“女士优先”。

共有 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 秒变化后的序列。

输出为一行字符串,仅包含BG

输入样例

 
  1. 5 2
  2. BGGBG

输出样例

 
  1. 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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值