Queue at the School

简介: Queue at the School

文章目录

一、Queue at the School

总结


一、Queue at the School

本题链接:Queue at the School


题目:

B. Queue at the School

time limit per test2 seconds

memory limit per test256 megabytes

inputstandard input

outputstandard output

During the break the schoolchildren, boys and girls, formed a queue of n people in the canteen. Initially the children stood in the order they entered the canteen. However, after a while the boys started feeling awkward for standing in front of the girls in the queue and they started letting the girls move forward each second.


Let’s describe the process more precisely. Let’s say that the positions in the queue are sequentially numbered by integers from 1 to n, at that the person in the position number 1 is served first. Then, if at time x a boy stands on the i-th position and a girl stands on the (i + 1)-th position, then at time x + 1 the i-th position will have a girl and the (i + 1)-th position will have a boy. The time is given in seconds.


You’ve got the initial position of the children, at the initial moment of time. Determine the way the queue is going to look after t seconds.


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”.


Examples


input

5 1

BGGBG

output

GBGGB


input

5 2

BGGBG

output

GGBGB


input

4 1

GGGB

output

GGGB


本博客给出本题截图:

image.png

题意:每次交换一个'B''G'的位置,求交换t次后的结果

AC代码

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
    int n, t;
    cin >> n >> t;
    string a;
    cin >> a;
    for (int i = 0; i < t; i ++ )
        for (int j = 0; j < n - 1; j ++ )
            if (a[j] == 'B' && a[j + 1] == 'G')
            {
                swap(a[j], a[j + 1]);
                j ++;
            }
    cout << a;
    return 0;
}

总结

水题,不解释


目录
相关文章
|
10月前
|
存储 安全 Java
java集合框架及其特点(List、Set、Queue、Map)
java集合框架及其特点(List、Set、Queue、Map)
|
10月前
subject may not be empty | type may not be empty
subject may not be empty | type may not be empty
302 0
每日一道面试题之在 Queue 中 poll()和 remove()有什么区别?
每日一道面试题之在 Queue 中 poll()和 remove()有什么区别?
|
6月前
|
存储 消息中间件 缓存
为何我建议你学会Queue集合
面试官:你说说Queue集合都有什么常用类?JDK源码对Queue集合是这么解释的,大家看看。专为在处理之前保存元素而设计的集合。南哥是这么理解的,List集合用于存储常用元素、Map集合用于存储具有映射关系的元素、Set集合用于存储唯一性的元素。Queue集合呢?所有的数据结构都是为了解决业务问题而生,而Queue集合这种数据结构能够存储具有先后时间关系的元素,很适用于在业务高峰期,需要缓存当前任务的业务场景。像Kafka、RabbitMQ、RocketMQ都是队列任务这种思想。
为何我建议你学会Queue集合
|
7月前
|
Java 数据库
成功解决: 加上 @Transient 仍然报 Unknown column ‘goods_list‘ in ‘field list‘
这篇文章讨论了在SpringBoot结合MyBatis-Plus框架中,当实体类中包含另一个实体类的集合,而这个集合字段在数据库中不存在时,如何避免由此引发的错误。文章提供了两种解决方法:一是使用`@TableField(exist = false)`注解明确指定该字段在数据库中不存在;二是使用`transient`关键字,但要注意`transient`关键字在Java中默认就是被忽略的,不需要加`@Transient`注解。文章最后展示了问题解决的效果。
|
9月前
|
设计模式 算法 C++
satck和queue以及priority_queue
satck和queue以及priority_queue
49 1
|
消息中间件 安全 Python
关于Queue你需要知道的
关于Queue你需要知道的
180 0
|
安全 IDE Java
Null is your friend, not a mistake
Null is your friend, not a mistake
Null is your friend, not a mistake