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ı potato
is ptao
ve kısaltması puzzle
is pzze
).
Elde etmek mümkün olan tüm yolları düşünün ptao
dan potato
. Olası bir yol birinci, üçüncü, dördüncü ve altıncı harfleri almaktır
1346
. Fakat t
ve o
kelime birden çok kez geçen, orada üretmek için birden fazla diğer olası yolları ptao
gelen potato
: 1546
, 1342
, ve 1542
.
Benzer bir şekilde, not bu pzze
oluşturulabilir puzzle
herhangi 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