Задача на Си

Выполнен
Заказ
5712411
Раздел
Программирование
Тип работы
Антиплагиат
Не указан
Срок сдачи
30 Ноя 2023 в 23:55
Цена
Договорная цена
Блокировка
10 дней
Размещен
30 Ноя 2023 в 23:07
Просмотров
45
Описание работы

Дано натуральное число K и строка текста, состоящая из слов, отделенных пробелами. Требуется разбить входную строку на строки длины K. В очередной строке должно быть выведено максимальное количество очередных слов входной строки, которые целиком помещаются в строку длины K (при условии, что слова разделены хотя бы одним пробелом). При этом, требуется каждую выходную строку отформатировать следующим образом. Необходимо, чтобы среднеквадратическое отклонение длин пробельных серий в каждой такой строке было минимальным (пробельная серия - непрерывная последовательность пробелов между двумя словами). То есть, если в строке есть n пробельных серий длины li и среднее арифметическое этих длин равно L, то среднее арифметическое величин (li - L)2 должно быть минимально для результирующей строки.

Если в строку входит больше одного слова, дополнять пробелами разрешается только промежутки между двумя словами. При возможности добавить пробел в несколько промежутков, выбирать следует тот промежуток, который расположен ближе всего к началу строки. Если же только одно очередное слово входной строки входит в очередную выходную строку, то необходимо вывести сначала это слово, а потом дополнить длину очередной выходной строки пробелами до K символов.

На стандартном потоке ввода в первой строке задано число K (K ≥ 1, K ≤ 10^6), во второй строке задана последовательность символов (строка) S, состоящая из пробелов и букв латинского алфавита, признак окончания которой - символ перевода строки. Известно, что длина строки S ≤ 10^6. Строка состоит из слов, разделенных пробельными символами (по одному пробелу между двумя словами). Строка начинается и кончается словами, либо является одним словом. В строке содержится по крайней мере одно слово. Известно, что любое слово входной последовательности имеет длину не больше K.

На стандартный поток вывода напечатайте результат описанного выше преобразования. Каждую выходную строку следует завершать символом перевода строки '\n'.

Примеры

Входные данные

10

i like apples

Результат работы

i like

apples

Входные данные

15

hello my beautiful friend

Результат работы

hello my

beautiful

friend

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.54
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Время выполнения заказа:
42 минуты
Выполнен
Предыдущий заказ
Следующий заказ
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир