Kelime değiştirici, tek bir adımda bir kelimeyi diğerine çevirmeye çalıştığınız ve her adımın kendi kelimesi olduğu bir oyundur. Bu sorun için düzenlemeler değişiklik, ekleme veya silme olabilir. Örneğin, WINNER → LOSER bu rota ile yapılabilir (başkaları da olabilir):
WINNER
DINNER
DINER
DINE
LINE
LONE
LOSE
LOSER
Başka bir şekilde ifade edildiğinde, her seferinde Levenshtein mesafesindeki diğer kelimelerle sadece bir kelimeye ulaşabilmelisiniz.
Kodlama
Size bir kelime listesi ve iki kelime verilecek ve bir rota varsa bir kelimeden diğerine geçerli bir rota ya da hiçbir rota yoksa farklı bir sabit değer veya tutarlı bir davranış vermelisiniz.
- Giriş kelimelerinin her ikisinin de kelime listesinde olduğunu varsayabilirsiniz.
- Kelime listesi, uygun herhangi bir düz formatta alınabilir.
- Listeler, kümeler, denemeler, boşlukla ayrılmış dizeler ve satırla ayrılmış dosyaların hepsi geçerlidir (örneğin), ancak Levenshtein bitişikliğinin önceden hesaplanmış bir grafiği geçerli değildir.
- Çıktı yolu her iki giriş sözcüğünü içermelidir, ancak başlayan ve biten önemli değildir.
- Hiçbir rota bulunamazsa, belirli bir sabit, bir sahte değer, boş bir liste çıktısı verebilir, bir istisna atabilir, sıfır olmayan bir kodla çıkabilirsiniz veya sonlu zamanda gerçekleşen başka herhangi bir davranış.
- Güzergahın optimal olması gerekmez ve hangi güzergahın izlenmesi gerektiği konusunda bir gereklilik yoktur
- Hesaplama karmaşıklığı önemli değildir, ancak programınızın sınırlı bir süre içinde sonlandırılacağı garanti edilmelidir. (evrenin sıcak ölümünün ötesine geçse bile)
- Aynı kelimedeki tüm kelimelerin tamamen harflerden oluştuğunu varsayabilirsiniz.
Örnek Test Durumları
- CAT → KÖPEK; [KEDİ, KÖPEK, COG, COT, KURBAĞA, GROG, BOG]
- KEDİ, COT, COG, KÖPEK
- BANYO → DUŞ; [BANYO, DUŞ, HATH, ŞAPKA, BAT, SAT, TESTERE, GÖNDER, GÖSTER, NASIL]
- Güzergah Bulunamadı
- BREAK → DÜZELTME; [BREAK, FIX, BEAK, EKMEK, OKUMA, BONCUK, KIRMIZI, YATAK, KÖTÜ, TEKLİF, FAD, FAKS]
- KIRMA, EKMEK, BONCUK, KÖTÜ, FAD, FAKS, DÜZELTME
- YAP → DESTROY; [İNŞA, DESTROY, İNŞAAT, GUILT, GUILD, GILD, GILL, BILL, DILL, FILL, DESTRUCT, STRUCTURE, CONSTRUCT]
- Güzergah Bulunamadı
- KART → KURUL; [KART, KURUL, BARD]
- KART, BARD, KURUL
- DEMON → ANGEL; [DEMON, ANGEL]
- Güzergah Bulunamadı
- SON → GEÇMİŞ; [SON, GEÇMİŞ, PATLATICI, DÖKÜM, SİYAH, HAYALET, POST, BOAST]
- SON, SON
- INSERT → SİL; Bu kelime listesi
- INSERT, INVERT, INVENT, INBENT, UNBENT, UNBEND, UNBIND, UNKIND, UNKING, UNKING, INKING, IRKING, DIRKING, DARKING, DARLING, ARLING, YASTIK, SIRING, SERING, SERINE, NERINE, NERITE, CERITE, CERATE, TATE, DER, SİL