В очереди стоят мальчишки и девченки. В начале каждой минутки,

В очереди стоят юноши и девочки. В начале каждой минутки, если за каким-то мальчуганом стоит девченка, то он изменяется с ней местами, пропуская ее вперед (при этом общее количество ребят в очереди не изменяется).

Для вас дана очередь в виде последовательности букв M и D (начало очереди слева), обусловьте, как она будет выглядеть через 10 минут.

MDDDMMDMDDDMMMMMMDDM

В качестве ответа выведите строку из заглавных латинских букв M и D (не деля их пробелами).

Задать свой вопрос
1 ответ
Код на ruby 2.2.3p173
def zadanie(line, time)
    line = line.gsub(/[^MD]/, "")
    time.times
        k = 0
        while k lt; line.size - 1 do

            if  line[k..k + 1] == "DM"
                line[k], line[k + 1] = line[k + 1], line[k]
                k+=1
            end
            k+=1
            p [k,line]
        end
    
    return line
end
Примеры применения
p zadanie("MDDDMMDMDDDMMMMMMDDM", 10)

Ответ для образца
"MMMMMMMMDMDMDMDDDDDD"

Валерий Черепников
DDDDDDDDMDMMMMMMMMMM
Людмила Яцентюк
Код на ruby 2.2.3p173def zadanie(line, time) line = line.gsub(/[^MD]/, "") time.times i k = 0 while k < line.size - 1 do if line[k..k + 1] == "MD" line[k], line[k + 1] = line[k + 1], line[k] k+=1 end k+=1 end p [i+1,line] return lineend
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт