Cada carácter en este bloque de texto de 64 por 64 ha sido elegido aleatoria y uniformemente de los 95 caracteres ASCII imprimibles .
/rq$:Zy5*g'$DeGXX2o8y "{@Cg:FR9qih}xh >5$DsF1Fs5Ao~smFp;.RJbV )U
c4\(|Sx*V$10G9xO:NjHKasem%,\9[pPm@&kTaN~HC[;9`lgqlAH(7dt0a-5}LJ[
&sifw9V-.PLRoD~F'dJYA^Q)L#h>$9h!B4b&ceKp8~HndzDm#1/ySydrf5T8[Y%4
U9>HLQ74Qf[^V9tpWrKFcFxZJ::4?z/o]3u,V[B&hB9lFYA0:rW#yql5z9.d*D}U
:M2*O9'7_HMGw_=%@hR>O+(@Dr6MIt(=/{-{4lia0Vmws32wr(fnTmT%HSo&7!uz
\KZWG&KnXh+6E+Q>%pV(<Bnm-d+p~y~]Ta"aw9)]0A_AHz\tP3&}1R^/yPPSgN?8
".7|Uj)S7-k[`yeLO~P2a?z3wiS(R-\k'?z(pVm;;D^k/q84?&7:,E*9$UQ"UbBJ
ME]&*R ,*7PDF4Tw*-;De{YeP_al.CJcJX`@V_y+>^<h{L[^Y"!RxjN^lyA_/Y=(
#C>Zo#Sl;UUD5ChIj'L@rkELk%S*]a$87j\\n;}796m/\NPL>8d-T-hR!7ftw ?A
tV5"E309bAv$jhE6\'8f?VGlBb?z#V;F((3'|}$tfpiNB>"*mxc,X1s:/%x*JQAL
rxYXUJsd?X}^yc|'16539vd=psU'>|y/!$-TRamKcJk^2-aD35h7CcaRNue"8#{;
@yUq?*(72I8@I)So+]RwtKy:mLhjG/f#:U<TXml<PtX*+,ngfZt75-q*gSsyI2tS
|*M*;yz6u2(LZ>W`bth-7G~>|dh'pm}]@"#Oq9%o\W)b,gh%b1O]4F:EGb7ERI=@
ehMo69slKw=S@<j*Q4sfd\1')#)V&yaPF%%ZG6VK\_-$Cab,nrlW"O(<tu&xU=I&
|[g4k2L;FD)=yX0SsE-|vI(mDOccuU(+m\wxgrJxi8ZP[uD)L.!K@]%@q`!pk8Yx
?PZaS3;x,7nK~IHlrCGy~xq:@K/CJ1J^oeac&Tv?6[H>>0lu?(/bh@6J^@S?IY-|
@tdN$K=Ci2;_0Du;L2OO'en|]<_`nX5p3Bes9`8{}fRCV$X&aoQGYS'$j%r<2709
UwETsAo^d!aUZ0vN5,Yq\n%JAIm}%O88FAJK^Jt&=jM\Q1^+^|X8\._"l%hlF+yH
+c^FBFxTGz|f|#kElQs)mS64-3Z\An]|[rQo"OQ+ IP"ARdJ}/OYFQF_/{B 73mU
UPvxNByN[2TT,XgRZ_LwolUVWuR)DjYI7j#mmA8m?&Y}}[_h8@Y-R*,#=1\D*&@*
ePW.w{@z3moe3Vztd,>?*~ZQUvn8$+xw$$f92D*kPZ":;lcTr3m&{*?j$FgZK|cU
IAd'0C{<4b}NuhX1B#gmk'oF4+(@fzP^T?hF/#]g^y rb5][)X-d4Q't~1]HE"tZ
p2Z,%H0$EWF/%|UQm?&]E~=v;9YwxrSs%}df`[ `SfXMJWt86UY1duGAAKkFSrH!
oUyB[soS!N%XYwX]%n K^}CcTE?~.,8`C&l)Jjjp5|z))!o/ "G)sj,{OETsi:KE
4E,':a=,T~YlxdF^<\$fE|f:_-RG}7=m%g\-9a*X]`n<P$D+q7O`+$P&!\"NUs7n
hL@0s 7i^Xp\._4$lZIB9Ql AXX_00K=<hp%55KSO6yWH~cGe%|(p_WzlhPUbH{?
o5b4pi(,]&&jB\hGa:\DQbrYc,n|,b)_E{n~i~+JSxn?%/qJVm|B 8"Jf||L.|M-
KRxH;T^Z7%ZufyO=nI;[v1\8ZTg\_)ect4DvMTvqtoo(;b~J&'~E2TTD!w1BvGv
Q+1sv>q%1$BaCm%(\%uGH*]emoFwejkhb$gKm=DVG#&:p'";s)&MY30q_cG=.CKJ
q,aWTi|^w2wg3<G_y<n+^Xq2ymHFs#7z[x0l'Lz6N>Mpo?=hAd&58HVMhsh(kQH5
&kSivkn`,KON9xb:$M[L15!D6W?\ASWc#}V#2U;qxKhtil73,!iuG~(lr[tPJQ6w
IZ)0Vp{kEUID:vgwmTMQ#Y]NdX6{'/3bI2x9k 4[>j)&Q0U,t,iA#A%4929o6+n_
SQe/!KubbuXthMe&2\%:'Z`,aaA)V&(v+]0^v-_@*Qg!^K!pCo"@e/|3}.3q^R||
6hF>/jd>(=il~2$KY.^x~K_H)J8Fi)'LOcUr4xJir^v0,c fIsoT<|7K}Bls|36z
MQ|-w=bp)_EY>YtGcW)!@/|Lc:I_<]x.~[|QSgJY1ZX9^e`ojAR6U#zt9!,44}>#
EJzH \gwosC>Z*)H!]1BPaIEYGyk{c0zv{d\#px2@#'-T{{.Qxknxv}"x3#K]w>;
<X(\bNnY_6*7Yu7_3a+wInwt vh=1eBgz>7Bnhs!<t.T#&V{+?p+{.RTN:xz>|,E
$upN*[F4A`~ZDMDt{.&2z+LZ7bcfeJfF9Uy3xX]ZzQ1FvB.U4S!hm$LYCp: wF7h
47-+lY$"}AExXQ@?!/6}biptH=6N-6&8-T\C8{`i56e'%cimv,0QKYTx) "nkFJ
C:Enw=Q%6J;t6wS+2O,b0v'"OK6GMbr);y#-H86>pCE6wjdk*rR*=reWo57^2TFH
::Nq,t9_S">\o^NZzh|U\^qyh-yt0nvMs%'6\;$%(91gTC=&1q]q-*u*so KrXsE
-Sz>q]l86[OO@\5W<'\XDc,%/=0sV0&1'Etty%f ~,c45IIqy=no.DY{8\?fa<9{
6%3TP:i^q.JzU217CADu}iAzWT""E\{IEMbGDKZB6s*LmlM0|<WA8CP7sR}f?WSL
S`T} 7Tn9!h8P\W 8J\#Mg\o;Qwt&4\UYKf{)O3G&B]sK.bw1!?7=:h$IIOIakD<
H/O5v`ld*35MSsydSQoiAnJ*\!^?'_=6E?c> PtM!rw5y{ZT2xSco){3_?j|wtJp
CT1!e~k8aNgw)LE:}oX4R*<u]TB%\IN8YoMK'bV%L2H{L3'c/|xoTY^&&WPKSyo<
cXma$Rfjj^':^a\?$UOo48]791Wywj7aH1\iP|\l=sjjbjqZB2)-apvjV@q47Spw
OP[kT<l@cKB="n;VC#6a*InmS~$TN{= j)r>S] uH9:E-}y>.Ygc'll$5Y$j]AYt
jB="iGo7[qY~A*nv.\51[<]):^[iZs4s-D_bC'OfM%lHlz;MoxY$Ku]NCt72PYMB
_(myN5'%] C!7FPoGX7+*,Yptuaz;Q6W,;R|U1XEhgq21R7<ncnDB<D_);j.:r0r
Q6!k|Dq`!Jz7l="*n?w@f|h=PA_A)n._ii:s~'n~XsD}?JRIkC9AW^piUfBTU,ui
nf+yZ`7P-(@{>s:{Vz'N 7qB&+UZbm4'0]D~HZNJq.w</3 \cL)WRDP(y]w~L4N/
!!lA+NK[+9#-iwx`PE53D.K2]]#M.Rm$^Cc'|!@cX6{yCg8K0|>E_jyup|+'=#c%
Ao5$B);DoQ#jg[7GbdE+o:R,T#@`;UnX}.?2z\RJ98Se*_.*e8mCUF}Vw1u13cy1
2s}1@?{0);Jo6(J@l>[M 0CkeO6{ExN7,%Kv1#[!** czaX)=;Q~D;z',fkq!1W<
% f(i#i`PQY!m7v#D:j5pyU]8:at2,k("BWZRI<WR??GQ$^1d[m,F(<e5CLv-m*B
CD)zVpa95WpJ K@&}yN\Q8I<%z/*_/bPsR5=0\Z=#mWZDAfA5[k|$Yks@Q;@h,s/
Np.$gTvz>T+"0|$Nw::%m$GFYxG{2akv$Eh8\4|eW'oJEffNzJ>UxU4>oITZMe/'
EMg$>kD|\ ^.W)Stzv/7z\^bdi]E@] U&-r8(B^?}$P56[?e~jE#_j)5=#~.yNP$
'mgF3EAhXB 55)\WXp*e+fD#^&SHGx++7VO[R7*b(Q+:jESt'K%m~d$Bv^/{7=zr
5oCZDp& ;*Y*G`L$C]Nm`|^:y2NKaO!)u/{hwm(VjS`<qKgNw7[+~0 <be'sWjTo
[email protected]*ml)pLeEVJ~8A$mgz*d>ajbg1FIYrg6J`D0xJMXi`ghA1V$ju
*rJg/ o;6M7`(qTF.nO'4da,{ieM&NC9rg;nX*))*DK"DycYD66&6z/I@}y4@$<f
3S]~9g An{=Rj|y&A2Vh^F\3lb#N~8w0EMx<K$]z(eZS~zbmgeeV\i7,MY~zrc+;
Su tarea en este desafío no es escribir su propio código, sino extraer el código de este bloque de texto como si fuera una gran cuadrícula de Boggle y está buscando un programa ejecutable en lugar de una palabra.
La presentación con el programa que produce el resultado finito más largo gana.
Detalles
Trate la cuadrícula de texto de 64 por 64 exactamente como una cuadrícula de Boggle de 64 por 64 con caracteres adicionales. Construya una cadena que sea un programa ejecutable en algún idioma eligiendo una ubicación inicial en la cuadrícula y moviendo repetidamente un paso vertical, horizontal o diagonal (8 direcciones en total) tantas veces como desee. ¡NO puede usar el mismo espacio de cuadrícula más de una vez!
Por ejemplo, estas 4 líneas se tomaron cerca de la mitad del bloque de texto:
EJzH \gwosC>Z*)H!]1BPaIEYGyk{c0zv{d\#px2@#'-T{{.Qxknxv}"x3#K]w>;
<X(\bNnY_6*7Yu7_3a+wInwt vh=1eBgz>7Bnhs!<t.T#&V{+?p+{.RTN:xz>|,E
$upN*[F4A`~ZDMDt{.&2z+LZ7bcfeJfF9Uy3xX]ZzQ1FvB.U4S!hm$LYCp: wF7h
47-+lY$"}AExXQ@?!/6}biptH=6N-6&8-T\C8{`i56e'%cimv,0QKYTx) "nkFJ
Comenzando por el p
extremo cercano a la derecha de la tercera línea, puedo moverme hacia abajo yendo en diagonal hacia abajo y hacia la derecha, luego hacia la
"
derecha, luego hacia arriba 3 veces zK
y hacia la izquierda 4 veces más #3x"
. Esto rastrea la cadena p " zK#3x"
que cuando se ejecuta como un programa Ruby genera " zK#3x"
.
El objetivo es encontrar un programa que produzca el resultado finito más largo . Solo se consideran los caracteres ASCII imprimibles al contar la longitud de la salida (esto significa que las pestañas y las nuevas líneas no se cuentan), aunque pueden estar presentes otros caracteres. El ejemplo de Ruby solo produce 8 caracteres.
También...
- El programa puede tener de 1 a 4096 caracteres de longitud.
- El programa no puede contener pestañas, nuevas líneas o ASCII no imprimible (ya que no están en la cuadrícula).
- El programa debe ejecutarse y salir sin errores.
- No hay restricciones de tiempo o complejidad siempre que el programa finalmente termine con una salida finita.
- La cuadrícula no gira de izquierda a derecha o de arriba a abajo.
Mencione dónde aparece su programa en la cuadrícula para que podamos verificar rápidamente que realmente está allí.
fuente
yes
, por ejemplo.Respuestas:
CJam, sobre (81182737 ^ 2813292) ↑↑ (10604499373-1) caracteres
De acuerdo, creo que finalmente lo resolví todo. Esto fue divertido: crear el código fue como navegar en un campo minado.
Antes de sumergirnos, comencemos con un ejemplo más simple ( pruébelo en línea ):
h
es un bucle do-while que deja la condición en la pila y{}
son bloques de código. El bloque interno es:Supongamos que la parte superior de la pila es
[1 10]
y realizamos el do-while{(\5*\}h;
. Esto es lo que pasa:Esto sucede hasta que los 10 disminuyen hasta 0 y el ciclo termina, en cuyo punto terminamos
[5^10 0]
en la parte superior de la pila. Luego podemos usar;
para hacer estallar el cero, dejando[5^10]
.En otras palabras, acabamos de realizar la exponenciación, con el
[1 x]{(\5*\}h;
resultado en[5^x]
.El bloque externo
{(\1\{(\5*\}h;\}h;
es similar, pero en lugar del5*
medio tenemos nuestro bucle "exponenciar la base 5". Entonces, para nuestro ejemplo simple, comenzando con[1 3]
obtenemos:La parte superior es cero, por lo que detenemos el bucle y salimos
[5^5^5]
. En otras palabras, acabamos de crear5^5^5
, o5↑↑3
en la notación de flecha hacia arriba de Knuth . Puede cambiar 5 y 3 por otros números, pero la hiperexponenciación se hace grande rápidamente , por lo que no recomendaría elegir nada demasiado grande.Ahora para lo real:
(Trazado de ruta)
Anotado (cualquier cosa sin notas es relleno):
Básicamente es lo mismo que el ejemplo simple, solo que con mucho relleno mientras se navega de una instrucción a otra en la cuadrícula.
En lugar de 5 y 3 tenemos
81182737^2813292
y10604499373
, lo que significa que(81182737^2813292)↑↑10604499373
se emite al final (¡con suficiente tiempo y memoria, por supuesto!). Tenga en cuenta que esto es simplemente un límite inferior: hay muchas otras impresiones que se llevan a cabo, por ejemplo, con 6 y 3, la salida tiene más de 2 millones de caracteres, aunque6^6^6
solo tiene 36k dígitos.Si quieres probar esta versión completa por ti mismo, prueba con:
reemplazando el 5 y 3 en la segunda y cuarta línea con números de su elección. Tenga en cuenta que la salida tendrá algunos dígitos adicionales alrededor del número hiperexponentado importante (es decir, un precedente
010
y un final0
).Algunas notas sobre CJam
Quizás se pregunte: ¿por qué no utilizar la exponenciación incorporada de CJam (
#
) en lugar del bucle interno do-while? Desafortunadamente, después de explorar la fuente de CJam, aprendí que para la exponenciación la base puede ser un BigInt (precisión arbitraria) pero el exponente se convierte en un int normal de 32 bits . Esto tiene algunos efectos secundarios divertidos pero molestos:Esto significaba que no podía usar la exponencia integrada de CJam cuando el exponente es demasiado grande, por razones de desbordamiento. Sin embargo, la multiplicación es diferente, ya que multiplicar dos BigInts da como resultado un nuevo BigInt, así que decidí explotarlo.
fuente
TECO, ~ 2 ^ 31 * 13 ~ = 27.9 * 10 ^ 9
Editar: Cambié un par de caracteres porque accidentalmente reutilicé uno, pero esa parte estaba dentro de un comentario, por lo que no hace mucha diferencia.
Las
?
vueltas en el eco de comandos, que utilizo para crear la mayor parte de la salida. Luego los caracteres\RZK%B"s'1UC>
se imprimen en un bucle.%B"s
agrega uno a B y luego prueba si es menor que cero. Por lo tanto, este condicional debe ingresarse después de 2 ^ 31 ciclos cuando se desborda a un número negativo. Dentro del condicional hay unEX
comando que sale del programa.Actualmente estoy intentando ejecutarlo hasta el final con la salida dirigida a un archivo.
fuente
HQ9 + (17195 caracteres)
Fuente:
(comienza a las 5: 4 y luego hacia abajo)
Salida:
El texto de la canción "99 botellas de cerveza" (8596 caracteres), la cadena
9Q9
(3 caracteres) y otra copia de "99 botellas de cerveza" (8596 caracteres).Esta es una respuesta muy poco convincente y no deberías votarla, pero alguien tuvo que publicarla.
fuente