Aceto , 19 17 bayt rekabet etmeyen
Yeni sürüm (17 bayt):
Bu yeni sürüm karakterleri teker teker alır ve en iyi -F
seçenek ile yürütülür . Benzer çalışır, ancak önceki çözümle aynı değildir:
>,
Op0
p|1u
,ip^
Eski cevap (19 bayt):
(Rekabetçi değil çünkü tercümanda iki hata düzeltmek zorunda kaldım)
|p1u
iOp<
|!`X
rd!r
Bu, nispeten iyi yapabileceklerini vurgulayan ilk Aceto cevabı. "Listeler", satır başına bir giriş, doğru için "1" ve yanlış için "0" olan ve listenin sonunu gösteren boş bir dize olan giriş akışlarıdır.
Aceto programları bir Hilbert eğrisinde çalışır, sol alttan başlayıp sağ alttan sona erer. İlk olarak, r
bir dizge d
hazırlıyoruz, !
boş dizeleri Doğru'ya, diğer her şeyi Yanlış'a çevirerek , çoğaltıyoruz ve negate ediyoruz ( ). Sonra bir şartlı yatay ayna var ( |
): Yığın üstündeki eleman truthy ise, yatay olarak yansıtın. Bu dize boş olduğunda olur. Eğer yansıtma yaparsak X
, tercümanı öldüren yere ineriz.
Aksi takdirde, yığındaki kalan kopyayı bir i
nteger'a dönüştürür ve bir başka koşullu yatay ayna yaparız: Bu sefer, 1 doğruluklı ve 0 sahte olduğundan, (ilk) doğru değeri görürsek yansıtırız. Eğer yansıtmazsak (bu yüzden 0 gördük) p
yığında ne olduğunu belirledik (yığın boş, sıfır olduğu için) ve O
tüm prosesi yeniden başlatarak, başladığımız eğrinin teli üzerine atlıyoruz.
Aksi takdirde, bir 1 gördüğümüzde u
, Hilbert eğrisi üzerinde hareket ettiğimiz yönü tersine çeviren ve üzerinde dururuz. 1p
1 basar ve şimdi aynı devam O
ederiz, 0 görseydik giderdik , ama "ters çevrilmiş" modda olduğumuz için, kökenimiz sağ altta , o yüzden atlıyoruz.
Şimdi r
başka bir dizge ead ve onu reddediyoruz. Dize boştu ve bu nedenle üst yığın elemanı truthy ise, `
olacak değil sonraki komutu (kaçış X
bize çıkmak yapma).
(Dize boş değil ise) Aksi takdirde, do kaçmak X
ve bunu görmezden. Bu durumda sola gideriz ( <
), p
0 O
biti (yığın boş olduğundan) ve kuleye geri döneriz.