Ответсообщение недоступно
Привет!
Также пытаюсь разобраться в задаче P. Анонс новости 2.0.
Пример 1
Ввод
144
5
Энтузиаст написал программу для управления громкостью с помощью жестов, чтоб не вставать с дивана.
Благодаря ей он может регулировать громкость,
показывая расстояние между большим и указательным пальцами.
Для этого ему понадобилась веб-камера, знания Python и
библиотека для работы с компьютерным зрением.
Вывод
Энтузиаст написал программу для управления громкостью с помощью жестов, чтоб не вставать с дивана.
Благодаря ей он может регулировать громкость...
Получается, что последней строкой в заголовке является строка 1 (если считать начиная с 0).
Тогда почему в сумме две начальные строки из примера равны 142?
total_len = 144
i = 0, line = "Энтузиаст написал программу для управления громкостью с помощью жестов, чтоб не вставать с дивана", line_length = 97, sum_line_length = 97
i = 1, line = "Благодаря ей он может регулировать громкость,", line_length = 45, sum_line_length = 142
i = 2, line = "показывая расстояние между большим и указательным пальцами.", line_length = 59, sum_line_length = 201
i = 3, line = "Для этого ему понадобилась веб-камера, знания Python и", line_length = 54, sum_line_length = 255
i = 4, line = "библиотека для работы с компьютерным зрением.", line_length = 45, sum_line_length = 300
Если учесть примечание: "Многоточие учитывается при подсчёте длины заголовка." и подсказку:
* все строки в сумме превышают требуемую длину:
** в последней строки более 3х символов - в последнюю строку вместо 3х последних символов добавляется многоточие;
Вывод должен быть следующим:
Энтузиаст написал программу для управления громкостью с помощью жестов, чтоб не вставать с дивана.
Благодаря ей он может регулировать громкос...
или
Энтузиаст написал программу для управления громкостью с помощью жестов, чтоб не вставать с дивана.
Благодаря ей он может регулировать громкость,...
или так, кодом:
total_length = int(input())
title = []
sum_line_length = 0
remainder = total_length
for i in range(int(input())):
line = input()
line_length = len(line)
sum_line_length += line_length
if sum_line_length <= total_length:
title.append(line)
remainder -= line_length
else:
if line_length > 3:
if remainder < 3:
title[i - 1] = (
title[i - 1][:len(title[i - 1]) - (3 - remainder)] +
'...\n'
)
break
else:
title.append(line[:remainder - 3] + '...\n')
break
else:
title[i - 1] += '...\n'
break
for line in title:
print(line)
У кого удалось справиться с заданием, а может разгадать последний тест, подскажите, плиз