tło
Matrioszka lalki (albo Rosyjski gniazdowania lalki) to zbiór lalek, które mieszczą się wewnątrz siebie. Przypadkowo pomieszałem moją kolekcję lalek matryoshka i nie pamiętam, która z nich wchodzi do środka.
Cel
Biorąc pod uwagę listę unikatowych ciągów, posortuj je w zagnieżdżone lalki Matrioszka. Każdy sznur jest indywidualną lalką, a lalka matryoshka to lista sznurków.
Zasady
Niech min(a,b)
będzie leksykograficzną miną łańcuchów a
i b
. Niech a ⊂ b
oznacza, że a
jest to podłańcuch b
. Następnie,
- Lista lalek matryoshka musi być posortowana leksykograficznie
- Łańcuch
a
może pasować do łańcucha,b
jeślia ⊂ b
- Jeśli
a ⊂ b
ia ⊂ c
, toa
wejdzie do środkamin(b,c)
- Jeśli jedno
a ⊂ c
i drugieb ⊂ c
, alea ⊄ b
b ⊄ a
wtedy tylkomin(a,b)
wejdzie do środkac
- Jeśli zarówno
a ⊂ c
ab ⊂ c
, a takżea ⊂ b
, to tylkob
będzie wejść do środkac
. Tzn. Superstruny poprzedzają podciągi, aby matryoshka nie została przedwcześnie zakończona.
Przykłady
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
ab, ba, aba, bab
? Zgodnie z regułą 3 oba powinnyab
iba
powinny wchodzićaba
, a zgodnie z regułą 4ba
nie mogą wchodzić w aniaba
anibab
.Odpowiedzi:
Python 2 , 298 bajtów
Wypróbuj online!
-28 bajtów ze wskazówkami od @dylnan, wyszukiwanie błędów przez @Dennis i naprawa błędów przez @ Mr.Xcoder
źródło
i
zmieniłem się w funkcję lambda i zmieniłem nazwę zmiennejout
nao
.out
zmienna nigdy się nie zmienia. Wypróbuj online!out
nazwa zmiennej 3-znakowej ... Poważnie: P?