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 potato
adalah ptao
, dan singkatan untuk puzzle
adalah pzze
).
Pertimbangkan semua cara yang mungkin untuk mendapatkan ptao
dari potato
. Satu cara yang mungkin adalah dengan mengambil huruf pertama, ketiga, keempat, dan keenam, yang akan kita sebut sebagai
1346
. Tapi karena t
dan o
muncul beberapa kali dalam kata, ada beberapa cara lain yang mungkin untuk menghasilkan ptao
dari potato
: 1546
, 1342
, dan 1542
.
Demikian pula, catatan yang pzze
dapat dihasilkan dari puzzle
dengan 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