Введение
Давайте посмотрим на строку abc
. Подстроки, которые могут быть сделаны из этого:
a, ab, abc, b, bc, c
Теперь нам нужно выровнять их по исходной строке, например так:
abc
a
b
c
ab
bc
abc
Порядок строки не имеет значения, поэтому это также совершенно верно:
abc
a
ab
abc
b
bc
c
Таким образом, подстрока расположена под местоположением подстроки в исходной строке. Так что для abcdef
подстроки cde
это будет выглядеть так:
abcdef
cde
Задание
Задача состоит в том, чтобы выровнять все подстроки длиной больше 0 , как показано выше. Вы можете предположить, что сама строка будет содержать только буквенные символы и иметь по крайней мере 1 символ. Для заполнения вы можете использовать пробел или другой не алфавитный печатный символ ASCII ( 32 - 127
). Возможно, нет необходимости упоминать, но сама строка будет содержать только уникальные символы, так что это не так aba
, поскольку a
происходит дважды.
Контрольные примеры
Входные данные: abcde
Возможный вывод:
a
ab
abc
abcd
abcde
b
bc
bcd
bcde
c
cd
cde
d
de
e
Входные данные: abcdefghij
Возможный вывод:
a
ab
abc
abcd
abcde
abcdef
abcdefg
abcdefgh
abcdefghi
abcdefghij
b
bc
bcd
bcde
bcdef
bcdefg
bcdefgh
bcdefghi
bcdefghij
c
cd
cde
cdef
cdefg
cdefgh
cdefghi
cdefghij
d
de
def
defg
defgh
defghi
defghij
e
ef
efg
efgh
efghi
efghij
f
fg
fgh
fghi
fghij
g
gh
ghi
ghij
h
hi
hij
i
ij
j
Это код-гольф , поэтому выигрывает представление с наименьшим количеством байтов!