C++女士优先

题目描述

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

共有 𝑛n 个人正在排队,为了方便,我们假设初始排队的人就是按照从 11 到 𝑛n 的序列排序。

如果在时间 𝑥x 时,一个男生站在第 𝑖i 个位置,一个女生站在第 (𝑖+1)(i+1) 个位置,那么在时间 𝑥+1x+1 时,第 𝑖i 个位置将有一个女生,第 (𝑖+1)(i+1) 个位置将有一个男生。时间以秒为单位。

例如:初始队列是男女女男女,经过 11 秒,队列将变成 女男女女男

输入描述

第一行包含两个整数 𝑛n 和 𝑡(1≤𝑛,𝑡≤50)t(1≤n,t≤50),表示人数和经过的秒数。

接下来一行包含字符串 𝑠s,表示学生们的初始排列。

注意:为了方便,男生使用B表示,女生使用G表示。

输出描述

最终输出经过 𝑡t 秒变化后的序列。

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

输入样例

  1. 5 2
  2. BGGBG

输出样例

  1. GGBGB

AC代码

#include<bits/stdc++.h>
using namespace std;
int n,t;
string s;
int main(){
	cin>>n>>t>>s;
	for(int i=1;i<=t;i++){
		for(int j=0;j<n-1;j++){
			if(s[j]=='B',s[j+1]=='G'){
				swap(s[j],s[j+1]);
				j++;
			}
		}
	}
	cout<<s;
	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值