Фон
Матрешка (или русская матрешка) представляет собой набор кукол , которые подходят друг в друге. Я случайно перепутал свою коллекцию матрешек, и я не помню, какая из них идет внутрь.
Задача
Учитывая список уникальных строк, рассортируйте их по вложенным матрешкам. Каждая строка - это отдельная кукла, а матрешка - это список струн.
правила
Позвольте min(a,b)
быть лексикографическим мин строк a
и b
. Позвольте a ⊂ b
обозначить, что a
является подстрокой b
. Потом,
- Список матрешек должен быть отсортирован лексикографически
- Строка
a
может вписаться в строку,b
еслиa ⊂ b
- Если
a ⊂ b
иa ⊂ c
, тоa
пойдем внутрьmin(b,c)
- Если оба
a ⊂ c
иb ⊂ c
, ноa ⊄ b
b ⊄ a
, то толькоmin(a,b)
пойдут внутрьc
- Если и то,
a ⊂ c
и тоb ⊂ c
, а то иa ⊂ b
то, толькоb
пойдет внутрьc
. Т.е. суперструны идут перед подстроками, так что матрешка не заканчивается преждевременно.
Примеры
In:
hahaha, hah, lol, lololol, bahaha, bah, haha, ah
Out:
bahaha, bah, ah
hahaha, haha, hah
lololol, lol
In:
aa, aaaa, a, aaaaaaaaaa
Out:
aaaaaaaaaa, aaaa, aa, a
3
Первый пост здесь, пожалуйста, укажите что-нибудь тупое / необходимые исправления.
—
Суджит
Добро пожаловать в PPCG! Если вы не уверены, достаточно ли хорош этот пост, вы можете сначала опубликовать его в Песочнице.
—
user202729
Это не обязательно, просто держите это здесь. Сообществу это нравится.
—
user202729
@sujeet в будущем, попробуйте сначала опубликовать в песочнице. Это место, где можно получить отзывы о своих задачах, прежде чем публиковать их на главном сайте. Не беспокойтесь об этом сейчас, так как этот вызов кажется нормальным, но есть над чем подумать на будущее.
—
Rɪᴋᴇʀ
Каким должен быть результат
—
Згарб
ab, ba, aba, bab
? В соответствии с правилом 3, как ab
и ba
должно идти в aba
, и в соответствии с правилом 4, ba
не может идти ни в одну aba
или bab
.