Diberikan masukan dari daftar kata-kata dan singkatan-singkatannya, menampilkan pola pembentukan singkatan-singkatan itu.
Mari kita ambil contoh input
potato ptao
puzzle pzze
sebagai contoh (yaitu, singkatan untuk potatoadalah ptao, dan singkatan untuk puzzleadalah pzze).
Pertimbangkan semua cara yang mungkin untuk mendapatkan ptaodari potato. Satu cara yang mungkin adalah dengan mengambil huruf pertama, ketiga, keempat, dan keenam, yang akan kita sebut sebagai
1346. Tapi karena tdan omuncul beberapa kali dalam kata, ada beberapa cara lain yang mungkin untuk menghasilkan ptaodari potato: 1546, 1342, dan 1542.
Demikian pula, catatan yang pzzedapat dihasilkan dari puzzledengan salah 1336,
1346, 1436, 1446. Satu-satunya pola yang dimiliki oleh kedua singkatan ini adalah 1346; oleh karena itu, itu harus menjadi output untuk input ini. Jika beberapa pola yang memungkinkan dimungkinkan, Anda dapat menampilkan salah satu, beberapa, atau semuanya (setidaknya satu).
Anda dapat berasumsi bahwa:
Input kata dan singkatan hanya berisi huruf kecil.
Setidaknya ada satu pasangan kata / singkatan dalam input.
Dimungkinkan untuk setiap singkatan dibentuk dari kata yang sesuai.
Akan selalu ada setidaknya satu pola yang membentuk setiap singkatan.
Panjang maksimum setiap kata adalah 9 karakter.
Masukan dapat diambil sebagai berikut:
Array 2-dimensi / daftar / array tupel / dll.
[[word, abbr], [word, abbr], ...]Daftar / array 1 dimensi yang datar
[word, abbr, word, abbr, ...]string tunggal, dibatasi oleh karakter tunggal yang bukan huruf kecil
"word abbr word abbr"hash / array asosiatif / dll.
{word => abbr, word => abbr, ...}
Di salah satu opsi input ini, Anda juga diizinkan untuk menukar urutan kata / abbr (harap jelaskan format input di pos Anda).
Output dapat diberikan sebagai angka tunggal, string dibatasi oleh non-digit, atau array / daftar / tuple / dll. angka.
Karena ini adalah kode-golf , kode terpendek dalam byte akan menang.
Uji kasus (ingat bahwa Anda hanya perlu menampilkan ≥1 hasil jika beberapa pola berfungsi):
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