Давши введення списку слів та їх скорочень, виведіть шаблон, за яким можна утворити абревіатури.
Візьмемо для прикладу введення
potato ptao
puzzle pzze
як приклад (тобто абревіатура для potatoє ptao, а абревіатура для puzzleє pzze).
Розглянемо всі можливі способи отримання ptaoз potato. Один з можливих способів - взяти першу, третю, четверту та шосту букви, про які ми будемо називати
1346. Але так як tі oз'являтися кілька разів на слові, є кілька інших можливих способів отримання ptaoз potato: 1546, 1342і 1542.
Крім того , зауважимо , що pzzeможуть бути отримані з puzzleз будь-яким з 1336,
1346, 1436, 1446. Єдина закономірність, яку мають ці дві абревіатури, - це 1346; отже, це повинен бути вихід для цього вводу. Якщо можливе кілька можливих шаблонів, ви можете вивести будь-яку, якусь або всі (хоча б одну).
Ви можете припустити, що:
Введені слова та скорочення містять лише малі літери.
У вході є принаймні одна пара слів / абревіатур.
З кожного відповідного слова можна утворити кожну абревіатуру.
Завжди буде принаймні один візерунок, який утворює кожну абревіатуру.
Максимальна довжина кожного слова - 9 символів.
Введення даних може бути прийнято як будь-яке з наведених нижче:
2-мірний масив / список / масив кортежів тощо.
[[word, abbr], [word, abbr], ...]плоский одновимірний масив / список
[word, abbr, word, abbr, ...]одна рядок, обмежена будь-яким одним символом, який не є малим літером
"word abbr word abbr"хеш / асоціативний масив / тощо.
{word => abbr, word => abbr, ...}
У будь-якому з цих варіантів введення вам також дозволяється поміняти порядок слова / abbr (будь ласка, повністю опишіть формат введення у вашій публікації).
Вихід може бути заданий як одне число, рядок, розділений нецифровими знаками, або масив / список / кортеж / тощо. чисел.
Оскільки це код-гольф , найкоротший код у байтах виграє.
Тестові випадки (пам’ятайте, що потрібно вивести ≥1 результати лише у тому випадку, якщо працює декілька шаблонів):
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