Prelude , geçerli bir programı neyin oluşturduğuna dair çok az, ancak olağandışı kısıtlamaları olan ezoterik bir programlama dilidir. Yazdırılabilir ASCII metninin herhangi bir bloğu ("blok", yazdırılabilir ASCII satırlarının satırsonu - 0x0A ile ayrıldığı anlamına gelir) şu durumlarda geçerlidir:
- Metnin her (dikey) sütunu en fazla birini ihtiva
(
ve)
. - Dikey konumlarını göz ardı ederek,
(
ve)
dengelidir, yani her(
biri tam olarak)
sağında biriyle eşleştirilir ve bunun tersi de geçerlidir.
Yazdırılabilir ASCII ve yeni satırlar içeren bir dize verildiğinde, geçerli bir Prelude programı oluşturup oluşturmadığını belirleyen bir program veya işlev yazın. STDIN (veya en yakın alternatif), komut satırı bağımsız değişkeni veya işlev bağımsız değişkeni aracılığıyla girdi alabilirsiniz. Sonuç, seçtiğiniz herhangi iki sabit doğruluk / tahrif değeri kullanılarak STDOUT'a iade edilebilir veya yazdırılabilir .
Sen gerekir değil girişi dikdörtgen olduğunu varsayalım.
Bu kod golf, yani en kısa gönderme (bayt cinsinden) kazanır.
Örnekler
Aşağıdakiler geçerli Prelude programlarıdır (aslında, gerçek Prelude programlarıdır):
?1-(v #1)-
1 0v ^(# 0)(1+0)#)!
(#) ^#1-(0 #
1(# 1) v # - 1+)
vv (##^v^+
? v-(0 # ^ #)
?
1+ 1-!
Ve hepsi geçersiz olan bir dizi girdi :
#(#(##)##)##(
)##(##(##)#)#
#(#)
)###
#(##
(##)
(##)
(#)#
(##)
(###
#(#)
(##)
#(#)
###)
#()#
()##
#(#)##
###
###(#)
)
ve 2'yi görüyorum (
. Her satıra sadece 1 değil mi?