В очереди стоят мальчики и девченки. В начале каждой минутки, если
В очереди стоят мальчишки и девочки. В начале каждой минутки, если за каким-то мальчуганом стоит девченка, то он меняется с ней местами, пропуская ее вперед (при этом общее количество ребят в очереди не изменяется). Для вас дана очередь в виде последовательности букв M и D (начало очереди слева), определите, как она будет смотреться через 10 минут. MMDMDDDDDMMDDDMDDDMD В качестве ответа выведите строчку из больших латинских букв M и D (не деля их пробелами).
Задать свой вопрос1 ответ
Олег Потанский
Код на ruby 2.2.3p173
def zadanie(line, time)
line = line.gsub(/[^MD]/, "")
time.times i
k = 0
while k lt; 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 line
end
Образцы применения
p zadanie("MDDDMMDMDDDMMMMMMDDM", 10)
p zadanie("MMDMDDDDDMMDDDMDDDMD", 10)
Вывод
[1, "MDMDMDDDDMDMDDDMDDDM"]
[2, "DMDMDMDDDDMDMDDDMDDM"]
[3, "DDMDMDMDDDDMDMDDDMDM"]
[4, "DDDMDMDMDDDDMDMDDDMM"]
[5, "DDDDMDMDMDDDDMDMDDMM"]
[6, "DDDDDMDMDMDDDDMDMDMM"]
[7, "DDDDDDMDMDMDDDDMDMMM"]
[8, "DDDDDDDMDMDMDDDDMMMM"]
[9, "DDDDDDDDMDMDMDDDMMMM"]
[10, "DDDDDDDDDMDMDMDDMMMM"]
"DDDDDDDDDMDMDMDDMMMM"
def zadanie(line, time)
line = line.gsub(/[^MD]/, "")
time.times i
k = 0
while k lt; 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 line
end
Образцы применения
p zadanie("MDDDMMDMDDDMMMMMMDDM", 10)
p zadanie("MMDMDDDDDMMDDDMDDDMD", 10)
Вывод
[1, "MDMDMDDDDMDMDDDMDDDM"]
[2, "DMDMDMDDDDMDMDDDMDDM"]
[3, "DDMDMDMDDDDMDMDDDMDM"]
[4, "DDDMDMDMDDDDMDMDDDMM"]
[5, "DDDDMDMDMDDDDMDMDDMM"]
[6, "DDDDDMDMDMDDDDMDMDMM"]
[7, "DDDDDDMDMDMDDDDMDMMM"]
[8, "DDDDDDDMDMDMDDDDMMMM"]
[9, "DDDDDDDDMDMDMDDDMMMM"]
[10, "DDDDDDDDDMDMDMDDMMMM"]
"DDDDDDDDDMDMDMDDMMMM"
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Газообразный аммиак объёмом 2.24 л (н.у.) был полностью поглощён 14.68 мл
Химия.
Упражнение 2 Выпишите глаголы и вставьте пропущенные буквы
Русский язык.
Радиус окружности, описанной около равностороннего треугольника, равен 6. Найдите сторону треугольника
Геометрия.
Вычислите силу с которой при давлении 100 КПа атмосфера давит на
Физика.
Синтаксический разбор и схема Но мы сказали, что нам ничего не
Русский язык.
Массовая доля целлюлозы в древесине составляет 50%. Какая масса спирта может
Химия.
помоги мне пожалуста прш
869*(61124-488*125)-50974
Математика.
по шкале высот определить ,в каком направлении происходит понижение релефа уральских гор
География.
Помогите пожалуйста написать Сочинение Овчинникова "победитель'
Литература.
Здравствуйте. Нужен цитатный план испытания лётчика в лесу главы2-13 по повести
Разные вопросы.
Облако тегов