В одной из кодировок юникод каждый символ кодируется 16 битами. ученик написал текст в нем нет лишних пробелов
"К лиственным деревьям относятся: дуб, акация, береза, клен, липа, ива, ольха, вяз, тополь, ясень, граб, конский каштан, ирга, лещина, жимолость, рябина, яблоня"
ученик добавил в список название одного из деревьев. и заодно запятую с пробелом
при этом размер нового предложения оказался на 18 байт больше, чем размер исходного. Напишите в ответе название добавленного дерева
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("MDDDMMDMDDDDDM", 10)
p zadanie("MMDMMMDDDMDDDMD", 10)
Вывод
[1, "MDMDMMDMDDDMDDDM"]
[2, "DMDMDMMDMDDDMDDM"]
[3, "DDMDMDMMDMDDDMDM"]
[4, "DDDMDMDMMDMDDDMM"]
[5, "MDMDMMDMDDMM"]
[6, "MDMDMMDMDMM"]
[7, "MDMDMMDMMM"]
[8, "MDMDM"]
[9, "MDMDMDDD"]
[10, "MDMDMDD"]
"MDMDMDD"
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("MDDDMMDMDDDDDM", 10)
# p zadanie("MMDMMMDDDMDDDMD", 10)
# p zadanie("MMMDMM", 5)
Вывод
[1, "DMDDMDMDMDDDMDM"]
[2, "DDMDDMDMDMDDMDMM"]
[3, "DDDMDDMDMDDMDMMM"]
[4, "MDDMDDMD"]
[5, "MDDDMD"]
[6, "MDMMMDMD"]
[7, "MMMDMD"]
[8, "MMDMD"]
[9, "MDMD"]
[10, "MD"]
"MD"