eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Выравнивание кода

Выравнивание кода

Вы работаете в команде, которая пишет Невероятно Настраиваемый Редактор Кода, который фактически является текстовым редактором c некоторыми фичами. Вы работаете над модулем, который берет кусок кода, содержащий некоторые выражения или другую информацию, и выравнивает каждую колонку на фиксированную вертикальную позицию, но при этом результирующий код остается настолько коротким, насколько это возможно. То есть, все первые слова в каждой линии находятся на позиции \textbf{p_1 = 1}; вторые слова в каждой линии находятся на минимально возможной позиции \textbf{p_2}, так что все концы первых слов находятся на (или) перед позицией \textbf{p_2-2}; третьи слова в каждой линии находятся на минимально возможной позиции \textbf{p_3}, так что все концы вторых слов находятся на (или) перед позицией \textbf{p_3-2}, и так далее. Код состоит из нескольких линий. Каждая линия содержит одно или несколько слов разделенных пробелами. Каждое слово содержит маленькие или большие латинские буквы и символы ASCII: пунктуационные знаки, разделители и другие непробельные символы (ASCII коды с \textbf{33} до \textbf{126} включительно). Пробел имеет ASCII код \textbf{32}. \InputFile Входной файл содержит одну или несколько линий кода. Все линии (включая последнюю) заканчиваются стандартным сиволом конца строки. Каждая линия содержит по крайней мере одно слово, каждое слово имеет длину от \textbf{1} до \textbf{80} символов включительно. Слова разделены одним или несколькими пробелами. Каждая линия во входном файле не превышает \textbf{180} символов. Всего в файле не более \textbf{1000} линий. \OutputFile Выведите в выходной файл отформатированный, выравненный код, который содержит такое же число линий, с такими же словами, слова идут в том же порядке, без пробелов в начале или конце линии. Слова должны быть отделены одним или несколькими пробелами, так что \textbf{i}-ое слово в каждой линии начинается на позиции \textbf{p_i}. \includegraphics{https://static.e-olymp.com/content/65/65f257317ff28664ef3567e386eaea143e3731ea.jpg} Символ '' в примере ниже обозначает пробел (ASCII код \textbf{32}).
Лимит времени 2 секунды
Лимит использования памяти 256 MiB
Входные данные #1
  start:  integer;    // begins here
stop: integer; //  ends here  
 s:  string;   
c:   char; // temp 
Выходные данные #1
start: integer; // begins here
stop:  integer; // ends   here
s:     string;
c:     char;    // temp
Автор Роман Елизаров