Эта задача вдохновлена SO вопросом о обходе матрицы путем перечисления всех ее диагональных полос.
Вместо матрицы рассмотрим блок текста:
ABCD
EFGH
IJKL
Обход диагоналей SW-NE этого блока слева направо, начиная с левого верхнего угла и заканчивая правым нижним, приводит к следующему выводу:
A
EB
IFC
JGD
KH
L
Вызов
Напишите программу или функцию, которые выполняют обратную процедуру, описанную выше. То есть, с учетом набора диагональных полос SW-NE, выведите блок текста, который его создал.
Вход и выход
И вход, и выход могут быть представлены как строки с символами новой строки или массивами / списками строк.
Конечные переводы строки не обязательны.
Ввод будет состоять как минимум из одного печатаемого символа и может считаться правильным (не будет несовместимой длины строки).
Выходной блок всегда будет иметь количество столбцов, большее или равное количеству строк.
Тестовые случаи
Входные данные:
A
Вывод:
A
Входные данные:
.
LI
PO.
PV.
CE
G
Вывод:
.I..
LOVE
PPCG
Входные данные:
M
DA
AIT
LAR
SGI
/OX
/N
/
Вывод:
MATRIX
DIAGON
ALS///