Вопрос задан 20.08.2023 в 16:06.
Предмет Информатика.
Спрашивает Барабанова Дарья.
В очереди стоят мальчики и девочки. В начале каждой минуты, если за каким-то мальчиком стоит
девочка, то он меняется с ней местами, пропуская ее вперед (при этом общее количество ребят в очереди не меняется). Вам дана очередь в виде последовательности букв M и D (начало очереди слева), определите, как она будет выглядеть через 10 минут. MMDMDDDDDMMDDDMDDDMD В качестве ответа выведите строку из заглавных латинских букв M и D (не разделяя их пробелами).Ответы на вопрос
Отвечает Габбасов Владик.
# Код на ruby 2.2.3p173
def 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 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 < 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"
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Давайте разберемся с этим шаг за шагом. У нас есть начальная очередь:
MMDMDDDDDMMDDDMDDDMD
Для удобства, я обозначу номера позиций в очереди от 1 до 20. Теперь давайте посмотрим, как будет происходить обмен на каждой минуте:
Минута:
- Позиция 1: MMDMDDDDDMMDDDMDDDMD
- Мальчик (M) на позиции 1 не может обменяться, так как за ним нет девочки (D).
- Результат: MMDMDDDDDMMDDDMDDDMD
Минута:
- Позиция 2: MMDMDDDDDMMDDDMDDDMD
- Мальчик (M) на позиции 2 может обменяться с девочкой (D) на позиции 3.
- Результат: MDMDMDDDDMMDDDMDDDMD
Минута:
- Позиция 3: MDMDMDDDDMMDDDMDDDMD
- Мальчик (M) на позиции 3 не может обменяться, так как за ним нет девочки (D).
- Результат: MDMDMDDDDMMDDDMDDDMD
Минута:
- Позиция 4: MDMDMDDDDMMDDDMDDDMD
- Мальчик (M) на позиции 4 не может обменяться, так как за ним нет девочки (D).
- Результат: MDMDMDDDDMMDDDMDDDMD
Минута:
- Позиция 5: MDMDMDDDDMMDDDMDDDMD
- Мальчик (M) на позиции 5 не может обменяться, так как за ним нет девочки (D).
- Результат: MDMDMDDDDMMDDDMDDDMD
Минута:
- Позиция 6: MDMDMDDDDMMDDDMDDDMD
- Мальчик (M) на позиции 6 может обменяться с девочкой (D) на позиции 7.
- Результат: MDMDMDDDMDMDDDMDDDMD
Минута:
- Позиция 7: MDMDMDDDMDMDDDMDDDMD
- Мальчик (M) на позиции 7 не может обменяться, так как за ним нет девочки (D).
- Результат: MDMDMDDDMDMDDDMDDDMD
Минута:
- Позиция 8: MDMDMDDDMDMDDDMDDDMD
- Мальчик (M) на позиции 8 не может обменяться, так как за ним нет девочки (D).
- Результат: MDMDMDDDMDMDDDMDDDMD
Минута:
- Позиция 9: MDMDMDDDMDMDDDMDDDMD
- Мальчик (M) на позиции 9 может обменяться с девочкой (D) на позиции 10.
- Результат: MDMDMDDDMDMDDMDDDDMD
Минута:
- Позиция 10: MDMDMDDDMDMDDMDDDDMD
- Мальчик (M) на позиции 10 не может обменяться, так как за ним нет девочки (D).
- Результат: MDMDMDDDMDMDDMDDDDMD
Через 10 минут очередь будет выглядеть так: MDMDMDDDMDMDDMDDDDMD.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
