Bir kelime listesinin ve kısaltmalarının bir girdisi verildiğinde, kısaltmaların oluşturulabileceği kalıbı çıktılayın.
Örnek girdisini ele alalım
potato ptao
puzzle pzze
örnek olarak (yani, kısaltması potatois ptaove kısaltması puzzleis pzze).
Elde etmek mümkün olan tüm yolları düşünün ptaodan potato. Olası bir yol birinci, üçüncü, dördüncü ve altıncı harfleri almaktır
1346. Fakat tve okelime birden çok kez geçen, orada üretmek için birden fazla diğer olası yolları ptaogelen potato: 1546, 1342, ve 1542.
Benzer bir şekilde, not bu pzzeoluşturulabilir puzzleherhangi biri ile 1336,
1346, 1436, 1446. Bu iki kısaltmanın ortak özelliği olan tek örüntü 1346; bu nedenle, bu girdi için çıktı bu olmalıdır. Birden fazla olası desen mümkünse, herhangi birini, bir kısmını veya tümünü (en az bir tane) çıktı alabilirsiniz.
Şunu varsayabilirsiniz:
Girilen kelimeler ve kısaltmalar yalnızca küçük harf içerir.
Girişte en az bir kelime / kısaltma çifti var.
Her kısaltmanın karşılık gelen sözcüğünden oluşturulması mümkündür.
Her kısaltmayı oluşturan en az bir örnek her zaman olacaktır.
Her kelimenin maksimum uzunluğu 9 karakterdir.
Giriş aşağıdakilerden herhangi biri olarak alınabilir:
2 boyutlu dizi / liste / tuples dizisi / vb.
[[word, abbr], [word, abbr], ...]düz 1 boyutlu dizi / liste
[word, abbr, word, abbr, ...]küçük harf olmayan herhangi bir tek karakterle ayrılmış tek dize
"word abbr word abbr"karma / ilişkisel dizi / vb.
{word => abbr, word => abbr, ...}
Bu giriş seçeneklerinden herhangi birinde, / abbr kelimesinin sırasını da değiştirmenize izin verilir (lütfen yazınızdaki giriş biçimini tam olarak açıklayın).
Çıktı tek bir sayı, rakam olmayanlar tarafından ayrılmış bir dize veya bir dizi / liste / grup / vb. Olarak verilebilir. sayı.
Bu kod golf olduğundan , bayt cinsinden en kısa kod kazanacaktır.
Test senaryoları (yalnızca birden fazla desen çalışıyorsa results1 sonuç vermeniz gerektiğini unutmayın):
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