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

Выравнивание текста

Выравнивание текста

Вы работаете в команде ICPC, которая разрабатывает текстовый редактор с прибамбасами. Вы работаете над модулем, который принимает на вход часть текста, содержащего некоторые определения или табличную информацию. Модуль должен выравнять каждую колонку в фиксированном вертикальном положении, при этом результирующий текст должен быть как можно короче. Между словами разрешено ставить только пробелы. Первые слова в каждой строке должны начинаться в позиции p1 = 1; вторые слова в каждой строке должны начинаться а наименьшей позиции p2, такой что все первые слова завершаются не позже позиции p2 - 2; третьи слова в каждой строке начинаются в такой наименьшей позиции p3, что все вторые слова завершаются до позиции p3 - 2 включительно, и так далее.

Входной текст состоит из нескольких строк. Каждая строка содержит одно или более слов, разделенных пробелами. Каждое слово состоит из заглавных или прописных латинских букв, любых ASCII пунктуационных знаков, разделителей и других непробельных ASCII символов (ASCII коды от 33 до 126 включительно). ASCII код пробела 32.

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

Содержит одну или более строк. Все строки (включая последнюю) завершаются символом EOLN (end-of-line). Каждая строка содержит как минимум одно слово, длина каждого слова от 1 до 80 символов (включительно). Слова разделены одним или несколькими пробелами. Строки могут иметь пробелы в начале или в конце. Длина каждой строки не более 180 символов. Входные данные содержат не более 1000 строк.

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

Вывести отформатированный, выровненный текст, состоящий из такого же количества строк, из тех же слов, но без ведущих и конечных пробелов, разделенных одним или более пробелом так что i-ое слово на каждой строке начинается в одной и той же позиции pi.

Лимит времени 1 секунда
Лимит использования памяти 122.17 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
Источник 2010 ACM NEERC, Semifinals, November 24, Problem A