Giriş
Popüler bir kelime bulmaca, sadece bir harf yerine geçen ve her zaman geçerli bir kelime ile sonuçlanan bir dizi adımla bir kelimeyi diğerine dönüştürmektir. Örneğin, BAG beş aşamalı bir yolla DOG'a dönüştürülebilir:
ÇANTA -> BAT -> KEDİ -> KOT -> COG -> KÖPEK
Bu durumda daha kısa yollar da vardır; Örneğin:
ÇANTA -> BOG -> KÖPEK
Biri, köşeleri kelimelerle etiketlenmiş bir grafik çizmişse, bir harfle farklılık gösteren herhangi bir kelime çifti arasında bir kenar varsa, "BAG" ile "DOG" arasındaki en kısa yol iki kenardan oluşur.
Meydan okuma
Bir yol boyunca adımlar olarak görülebilen tüm izin verilen kelimeleri temsil eden, aynı uzunlukta kelimelerin "sözlüğünü" girdi olarak alan bir program yazmalısınız. En az bir "en uzun en kısa yol" yani iki kelimeden oluşan bir yol çıkmalıdır:
bu iki kelime arasındaki herhangi bir yoldan daha uzun değildir;
en azından listedeki başka bir çift kelime arasındaki en kısa yol.
Yukarıda tarif edilen grafik bağlamında, böyle bir yolun uzunluğu grafiğin çapıdır .
Giriş kelimelerinden hiçbirinin diğerlerinden herhangi birine dönüştürülemediği dejenere durumda, sıfır uzunluklu en az bir yol, yani tek bir kelime çıktılayın.
Örnekler
Girdi ["torba", "yarasa", "kedi", "karyola", "nokta", "köpek"], en kısa yol " bu sözlük içinde çanta "to" köpek "ulaşılabilir en uzun, beş adımdır.
Giriş "" torba "," yarasa "," bot "," kedi "," karyola "," nokta "," köpek "]" çanta, yarasa, bot, nokta, köpek "ve / veya ters.
Giriş "" kod "," golf "," erkek "," buzz "," köstebek "," rol "," kalıp "," soğuk "," altın "," mod "]" kod "arasında bir yol vermelidir ve "golf".
Giriş "" bir "," iki "," altı "," on "] kenarsız bir grafiğe karşılık gelir, bu nedenle bir veya daha fazla tek sözcüklü (sıfır uzunluklu) yol çıktısı alın.
Giriş eşit olmayan uzunlukta iki sözcük içeriyorsa, çıktı tanımsızdır.
kurallar
- Standart kod golf kuralları geçerlidir
- Birden çok "en kısa" yol olacaktır. En az bir çıktı almanız gerekir, ancak istediğiniz kadar çıktı almakta serbestsiniz.
- Giriş sözlüğünün programınıza nasıl aktarılacağına karar vermekte özgürsünüz.
- Bayt cinsinden en kısa kod kazanır.
[]ya olur [[]])?