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

0 голосов
31 просмотров

В очереди стоят мальчики и девочки. В начале каждой минуты, если за каким-то мальчиком стоит девочка, то он меняется с ней местами, пропуская ее вперед (суммарное количество ребят в очереди не меняется). Вам дана очередь в виде последовательности букв M и D (начало очереди слева), определите, как она будет выглядеть через 5 минут. MMDDDDMDMM В качестве ответа выведите строку из заглавных латинских букв M и D (не разделяя их пробелами). Пример. Очередь MDD через минуту будет такой: DMD, а еще через минуту такой: DDM.


Информатика (32 баллов) | 31 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

#Python 3.X

from re import compile

s = 'MMDDDDMDMM'
p = compile(r'MD')
for _ in range(5):
    s = p.sub('DM', s)
print(s)


Ответ: DDDDMDMMMM

(7.2k баллов)
0

а как это работает?

0

Регулярные выражения. Замена каждого вхождения первой строки на вторую.