Bir sözlük dosyası (her satırda bir kelime veya kelime öbeği içeren, olası noktalama işaretleri içeren ancak sayı içermeyen bir metin dosyası; satırlar alfabetik olarak yazılır) verildiğinde, başka bir kelime oluşturmak için bir sözcüğün bir harfin kaldırılabileceği her sözcük kombinasyonunu çıktılamanız gerekir; kaldırılan harf parantez içine alınmalıdır.
Örneğin, girdi
cat
cart
code
golf
ode
verify
versify
çıktı vermeli
ca(r)t
(c)ode
ver(s)ify
Aynı çifti almanın birden çok yolu yalnızca bir kez görüntülenmelidir. Çıktı alabilir scra(p)ped
veya scrap(p)ed
ikisini birden veremezsiniz.
Çıktı , daha uzun girişle alfabetik olarak sıralanmalıdır ;
mart
mar
mat
ma
çıktısı olmalı
ma(r)
ma(t)
ma(r)t
mar(t)
ve son ikisi her iki sırada da olabilir.
Sözlük dosyası büyük / küçük harfleri, boşlukları, kısa çizgileri veya kesme işaretlerini içerebilir; bunlar göz ardı edilmelidir. Örneğin,
inlay
in-play
üretmelidir in(p)lay
. Çıktınızın hepsi aynı durumda olmalıdır. Fazladan boşluğa izin verilir.
Giriş STDIN veya bir dosyadan olabilir; yeni satırlarla ayrılır. Çıktı bir işlevin dönüş değeri veya STDOUT (veya isterseniz bir dosyaya yazılabilir) olabilir.
Bu kod golfüdür , bu nedenle bayttaki en kısa kod kazanır.
(Bu benim PPCG'deki ilk meydan okumam - yanlış bir şey yaptıysam ve düzeltirsem bana bildirin.)
mart mar mat ma
? Olurmar(t) ma(r)t ma(r) ma(t)
mu?