Aşağıdaki alfabetik olarak sıralanmış kelime listesini göz önünde bulundurun:
balderdash
ballet
balloonfish
balloonist
ballot
brooding
broom
Tüm kelimeler ile başlar b
ve ilk 5 ile başlar bal
. Sadece ilk 2 kelimeye bakarsak:
balderdash
ballet
bunun yerine yazabiliriz:
balderdash
+let
burada ' '
bir kelimenin önceki kelime ile önek karakterini paylaştığı yerlerde kullanılır; '+'
ikinci kelimenin önceki kelimeyle bir öneki paylaştığı SON karakterini gösteren karakter hariç .
Bu bir tür 'trie' görselleştirmesidir: ebeveyn ' bal
' ve 2 soyundan oluşur: 'derdash'
ve 'let'
.
Gibi uzun bir liste ile:
balderdash
ballet
brooding
'|'
paylaşılan ön ekin bittiği yerde aşağıdaki gibi daha net olması için pipe karakterini kullanabiliriz :
balderdash
| +let
+rooding
ve eşdeğer ağaç bir kök olurdu 'b'
iki çocuk sahibi: alt ağacı olan kök 'al'
ve ve iki çocuk 'derdash'
ve 'let'
; ve 'rooding'
.
Bu stratejiyi orijinal listemize uygularsak,
balderdash
ballet
balloonfish
balloonist
ballot
brooding
broom
Gibi görünen çıktı elde ediyoruz:
balderdash
| +let
| +oonfish
| | +ist
| +t
+rooding
+m
Listedeki iki ardışık kelimenin paylaşılan öneki yoksa, özel karakterler kullanılmaz; örneğin, liste için:
broom
brood
crude
crumb
Çıktıyı istiyoruz:
broom
+d
crude
+mb
Giriş
Girişteki kelimeler sadece alfanümeriklerden oluşacaktır (boşluk veya noktalama işareti içermez); Bu, seçtiğiniz formatı belirlediğiniz sürece, bir dizelerin listesi, tek bir dize veya başka bir makul yaklaşım biçiminde olabilir. İki ardışık kelime aynı olamaz. Liste alfabetik olarak sıralanacaktır.
Çıktı
Çıktınız, satır başına veya toplamda izleyen boşluk içerebilir, ancak satır aralığı boşluk bırakmaz. Bir dize listesi veya benzeri de kabul edilebilir.
Bu kod golf ; Her dilde en kısa kod, palavra haklarını saklı tutar. Boşluklara karşı normal yasaklar uygulanır.
Test Kılıfları
Input:
apogee
apology
app
apple
applique
apply
apt
Output:
apogee
|+logy
+p
|+le
| +ique
| +y
+t
Input:
balderdash
ballet
balloonfish
balloonist
ballot
brooding
broom
donald
donatella
donna
dont
dumb
Output:
balderdash
| +let
| +oonfish
| | +ist
| +t
+rooding
+m
donald
| |+tella
| +na
| +t
+umb
+
birincisinin altında olacaktı o
, ama zoru yazmadım, bu yüzden emin değilim.
ball
sonradan bahsettiğim davaballoon
? Hangi çıktıyı beklemeliyiz?