Unicode'daki bazı ortak bitişik harflerin listesi ( Debian'daki Compose anahtarımla oluşturabileceğim):
Orig Ascii Lig
ae [ae] æ
AE [AE] Æ
oe [oe] œ
OE [OE] Œ
ij [ij] ij
IJ [IJ] IJ
ff [ff] ff
fi [fi] fi
fl [fl] fl
ffi [ffi] ffi
ffl [ffl] ffl
Bu zorlukta iki seçeneğiniz vardır: gerçek UTF-8 bitişik harflerini kullanın veya yalnızca ASCII varyantını kullanın. Gerçek UTF-8 bağ varyantlarını kullanırsanız,% 20 bonus kazanırsınız. Yalnızca ASCII varyantını kullanırsanız, köşeli parantezlerin bir ligatür belirtmek dışında hiçbir zaman dahil olmayacağını varsayabilirsiniz.
Zorluk: giriş olarak bir dize verildiğinde, aynı dizeyi çıktılar
tüm orijinal bitişik harfler genişletilmiş karşılıklarıyla değiştirilir.
- açgözlülükle eşleşir:
affib
oluraffib
(a[ffi]b
), değilaffib
(a[ff]ib
) veyaaffib
(af[fi]b
).
- açgözlülükle eşleşir:
tüm "genişletilmiş" harf dizileri, bitişik harfler ile değiştirilir.
- örneğin,
æOEfoo
([ae]OEfoo
) oluraeŒfoo
(ae[OE]foo
).
- örneğin,
Bunu tamamen bağımsız olarak yapın: ffi
( [ff]i
), ffi
( ffi
) değil ffi
( [ffi]
) olur.
Kulağa yeterince basit mi geliyor? Bir yakalama vardır: iki bitişik olmayan tam olarak bir karakterle çakıştığında , her iki bitişik harf de dizeye eklenmelidir. İşte size gösterilecek birkaç test örneği:
Input Ascii-output Output
fij [fi][ij] fiij
fIJ f[IJ] fIJ * remember, capitalization matters!
fffi [ff][ffi] ffffi
fff [ff][ff] ffff
ffffi [ff][ff][ffi] ffffffi
ffffij [ff][ff][ffi][ij] ffffffiij
Dikkatli olun: Aynı açgözlü eşleme geçerlidir (özellikle son birkaç test vakasına dikkat edin).
kod-golf , bayt çok kısa kod kazanır.