Фон
У типографії річки - це візуальні прогалини в текстовому блоці, які виникають через збіг узгоджених просторів. Це особливо дратує, оскільки ваш мозок, здається, перебирає їх легше в периферійному зорі, який постійно відволікає ваш погляд.
Як приклад, візьміть наступний блок тексту, рядки розбиті таким чином, щоб ширина рядка не перевищувала 82 символи :
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eismod tempor
incididunt ut labore et dolore maga aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute
irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet,
consectetur adipisicing elit, sed do eismod tempor incididunt ut labore et dolore
maga aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
est laborum.
У правій нижній частині є річка, що охоплює шість рядків, яку я виділив у наступному блоці:
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eismod tempor
incididunt ut labore et dolore maga aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute
irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
officia deserunt mollit anim id est laborum. Lorem█ipsum dolor sit amet,
consectetur adipisicing elit, sed do eismod tempor█incididunt ut labore et dolore
maga aliqua. Ut enim ad minim veniam, quis nostrud█exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat. Duis aute█irure dolor in reprehenderit in
voluptate velit esse cillum dolore eu fugiat nulla█pariatur. Excepteur sint
occaecat cupidatat non proident, sunt in culpa qui█officia deserunt mollit anim id
est laborum.
Ми можемо пом’якшити це, вибравши дещо іншу ширину стовпця. Наприклад, якщо ми розміщуємо один і той же текст, використовуючи рядки довжиною не більше 78 символів , немає річки довше двох рядків:
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eismod tempor
incididunt ut labore et dolore maga aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt
in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor
sit amet, consectetur adipisicing elit, sed do eismod tempor incididunt ut
labore et dolore maga aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis
aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
culpa qui officia deserunt mollit anim id est laborum.
Зауважте, що для цього питання ми розглядаємо лише шрифти з односхилим розміром, так що річки є просто вертикальними стовпцями пробілів. Довжина річки - це кількість ліній, які вона проходить.
Убік: Якщо вам цікаво виявлення річки пропорційними шрифтами, у мережі є кілька цікавих публікацій .
Змагання
Вам надається рядок символів для друку ASCII (кодова точка від 0x20 до 0x7E) - тобто один рядок. Роздрукуйте цей текст із шириною рядка від 70 до 90 символів (включно), щоб максимальна довжина будь-якої річки в тексті була мінімізована. Якщо є кілька ширин тексту з однаковою (мінімальною) максимальною довжиною річки, виберіть більш вузьку ширину. Наведений вище приклад із 78 символами - це правильний вихід для цього тексту.
Для розриву рядків слід замінити пробіли символів (0x20) на розриви рядків, щоб отримані рядки мали якомога більше символів, але не більше вибраної ширини тексту. Зауважте, що отриманий розрив рядка сам по собі не є частиною цього підрахунку. Наприклад, в останньому блоці вище Lorem[...]tempor
78 символів, що також є шириною тексту.
Ви можете припустити, що вхід не буде містити послідовних пробілів і не матиме провідних чи кінцевих пробілів. Ви також можете припустити, що жодне слово (послідовна підрядка не пропусків) не містить більше 70 символів.
Ви можете написати програму або функцію, взявши введення через STDIN, аргумент командного рядка або аргумент функції та роздрукувавши результат на STDOUT.
Це кодовий гольф, тому найкоротша відповідь (у байтах) виграє.