Вступление
Вы используете Твиттер (давайте представим, если нет), где вы ограничены 140 символами на каждый твит, которым хотите поделиться со всем миром. Если вы хотите написать в Твиттере адрес Геттисберга Авраама Линкольна , то вам нужно разбить текст на несколько фрагментов по 140 символов, чтобы вывести все сообщение. Тем не менее, эти куски не всегда должны быть точно 140 символов. Скажем, к примеру, мы разбили речь на 17-символьные куски, в итоге мы получим эти твиты:
- ЧЕТЫРЕ СЧЕТА И СЕ
- ВЕН ЛЕТ НАШИ
- ОТЦЫ БЫЛИ
- ФОРТ НА ЭТОМ КОНЕ
- TINENT НОВАЯ НАТИ
- ПО ЗАЗЫВАНИЮ В Л
- (и так далее)
Это не хорошо! Когда отдельные слова разбиты, тогда может быть трудно понять, что вы пытаетесь сказать. Кроме того, в твиттере один из ваших фолловеров может столкнуться с конкретным твитом и не осознавать, что в сообщении есть что-то еще, поэтому вам нужно нумеровать свои твиты, чтобы у них был некоторый контекст для работы (все еще с использованием 17-символьных блоков ):
- (1/7) ЧЕТЫРЕ СЧЕТА И
- (2/7) СЕМЬ ЛЕТ НАЗАД
- (3/7) НАШИ ОТЦЫ
- (4/7) НАПРАВЛЕНО
- (5/7) ЭТОТ КОНТИНЕНТ А
- (6/7) НОВАЯ НАЦИЯ
- (7/7) задумано в ...
Вы можете вручную определить лучшую конфигурацию для своих твитов вручную, но для этого у нас есть компьютеры!
Вызов
В кратчайшем из возможных кодов проанализируйте адрес Геттисберга (или любой текст, но мы будем придерживаться его в качестве примера) в набор твитов, состоящий не более чем из 140 символов (предположим, ASCII, поскольку наш пример текста не должен иметь любые необычные / необычные биты в нем).
Детали
- Ваша функция / программа / и т. Д. Должна принимать один строковый аргумент и выводить одну строку текста для каждого твита.
- Предположим, что этот ввод никогда не приведет к более 99 твитам при анализе, независимо от того, как вы решите анализировать (при условии, что этот выбор по-прежнему соответствует другим пунктам испытания).
- Твиты должны включать в себя
tweet numberпоtotal tweetsпоказателю в формате «(x/y)» перед телом чирикать.- Этот счет займет часть вашего пространства из 140 символов!
- Части чириканья могут быть разделены только на новые строки или пробелы.
- Никакие дефисы, точки, запятые или другие знаки препинания не допускаются, за исключением случаев, когда им предшествует или предшествует пробел или перевод строки.
- Твиты должны содержать как можно больше полных слов.
- Это ограничение немного гибкое, например, когда ваш последний твит содержит только одно слово
- Это код гольф, поэтому выигрывает самый короткий код.
Полный текст Геттисберга Адрес
(Ваш код должен по-прежнему обрабатывать любую передаваемую ему строку ASCII.)
ЧЕТЫРЕ СЧЕТА И СЕМЬ ЛЕТ НАШИ НАШИ ОТЦЫ ПОЛУЧИЛИ НА ЭТОМ КОНТИНЕНТЕ НОВУЮ НАЦИЮ, СОЗДАННУЮ В СВОБОДЕ И ПОСВЯЩЕННУЮ ПРЕДЛОЖЕНИЮ, ЧТО ВСЕ МУЖЧИНЫ СОЗДАНЫ РАВНЫМИ. ТЕПЕРЬ МЫ ЗАНИМАЕМСЯ В ВЕЛИКОЙ ГРАЖДАНСКОЙ ВОЙНЕ, ИСПОЛЬЗУЮЩЕЙ, ЧТО НАЦИЯ ИЛИ ЛЮБАЯ НАЦИЯ НАСТОЯЩАЯ И ПОСВЯЩЕННАЯ МОЖЕТ ДЛИТЬ ДОЛГО. МЫ ВСТРЕТИЛИСЬ НА БОЛЬШОЙ БОРЬБЕ ЭТОЙ ВОЙНЫ. МЫ ПРИШЛИ, ЧТОБЫ ПОСВЯТИТЬ ЧАСТЬ ЭТОГО ПОЛЯ В КАЧЕСТВЕ ФИНАЛЬНОГО ОТДЫХА ДЛЯ ТОГО, КОТОРЫЙ ЗДЕСЬ ИХ ЖИВЕТ, ЧТО НАЦИЯ МОЖЕТ ЖИТЬ. ЭТО ТАКЖЕ ПОДКЛЮЧЕНИЕ И ХОРОШО, ЧТО МЫ ДОЛЖНЫ ЭТО СДЕЛАТЬ. НО В БОЛЬШОМ ЧУВСТВЕ МЫ НЕ МОЖЕМ ПОСВЯЩАТЬ, МЫ НЕ МОЖЕМ ПОСМОТРЕТЬ, МЫ НЕ МОЖЕМ ПОСЕТИТЬ, ЭТО ОСНОВАНО. Храбрые мужчины, живущие и мертвые, которые боролись здесь, оценили это далеко над нашей бедной силой, чтобы добавить или отрицать. МИР МЕНЬШЕ ЗАМЕТИТ, ЧТО НЕ ДОЛГО ПОМНИТ, ЧТО МЫ ГОВОРИМ ЗДЕСЬ, НО ЭТО НЕ МОЖЕТ ЗАБЫТЬ, ЧТО ОНИ ЗДЕСЬ ЗДЕСЬ. Для нас живая родина должна быть посвящена здесь незавершенной работе, для которой те, кто ее видел, так далеко продвинулись так далеко. НАМ НУЖНО БЫТЬ ЗДЕСЬ, ПОСВЯЩЕННЫМ ВЕЛИКОЙ ЗАДАЧЕ, ОСТАВАЮЩЕЙСЯ ДО НАС, ЧТО ОТ ЭТОГО ПОЧЕТНОГО МЕРТВА МЫ УВЕЛИЧИЛИ СВОЮ ПРИЗНАТЕЛЬНОСТЬ К ЭТОМУ ПРИЧИНЕ, ПОЧЕМУ ОНИ ПОЛУЧИЛИ ПОСЛЕДНЮЮ МЕРУ УДАЧИ, ЧТО НАМ ЕСТЬ НАСТОЯЩИЙ УМИРАЛИ В ВАЙНЕ, ЧТО ЭТА НАЦИЯ ПОД БОГОМ ИМЕЕТ НОВОЕ РОЖДЕНИЕ СВОБОДЫ, И ЧТО ПРАВИТЕЛЬСТВО ЛЮДЕЙ ЛЮДЯМИ ДЛЯ ЛЮДЕЙ НЕ ПОЙДЕТ ИЗ ЗЕМЛИ.