Biorąc pod uwagę listę słów i ich skrótów, wypisz wzór, według którego można tworzyć skróty.
Weźmy przykładowe dane wejściowe
potato ptao
puzzle pzze
jako przykład (to znaczy skrót dla potatois ptao, a skrót dla puzzleis pzze).
Rozważyć wszystkie możliwe sposoby, aby uzyskać ptaood potato. Jednym z możliwych sposobów jest wzięcie pierwszej, trzeciej, czwartej i szóstej litery, które będziemy nazywać
1346. Ale ponieważ ti opojawiają się kilka razy w słowie, istnieje wiele innych możliwych sposobów generowania ptaoz potato: 1546, 1342, i 1542.
Podobnie należy pamiętać, że pzzemogą być generowane puzzlez dowolnego 1336,
1346, 1436, 1446. Jedyny wzór, który łączy te dwa skróty, to 1346; dlatego musi to być wynik dla tego wejścia. Jeśli możliwych jest wiele możliwych wzorców, możesz wypisać dowolny, niektóre lub wszystkie z nich (przynajmniej jeden).
Możesz założyć, że:
Wprowadzane słowa i skróty zawierają tylko małe litery.
Na wejściu znajduje się co najmniej jedna para słowo / skrót.
Możliwe jest utworzenie każdego skrótu z odpowiadającego mu słowa.
Zawsze będzie istniał co najmniej jeden wzór, który tworzy każdy skrót.
Maksymalna długość każdego słowa wynosi 9 znaków.
Dane wejściowe można przyjąć jako jedno z poniższych:
Dwuwymiarowa tablica / lista / tablica krotek / itp.
[[word, abbr], [word, abbr], ...]płaska 1-wymiarowa tablica / lista
[word, abbr, word, abbr, ...]pojedynczy ciąg, rozdzielany dowolnym pojedynczym znakiem, który nie jest małą literą
"word abbr word abbr"skrót / tablica asocjacyjna / itp.
{word => abbr, word => abbr, ...}
W każdej z tych opcji wprowadzania danych możesz również zamieniać kolejność słów / abbr (proszę dokładnie opisać format wprowadzania w swoim poście).
Dane wyjściowe mogą być podawane w postaci pojedynczej liczby, ciągu ograniczonego cyframi lub tablicy / listy / krotki / itp. liczb.
Ponieważ jest to code-golf , wygra najkrótszy kod w bajtach.
Przypadki testowe (pamiętaj, że musisz wygenerować wyniki ≥1, jeśli działa wiele wzorców):
In Out
--------------------------------------------------------
potato ptao puzzle pzze | 1346
aabbcc abc fddeef def | 246
prgrmming prgmg puzzles pzzlz | 14353
aaaaa a bbbb b ccc c dd d e e | 1
aaaaa a bbbb b ccc c | 1, 2, 3
abcxyz zbcyax | 623514
abcxyz acbbacbcbacbbac | 132213232132213
potato ptao | 1346, 1546, 1342, 1542
a aaaaa | 11111