Chaque caractère de ce bloc de texte 64 x 64 a été choisi de manière aléatoire et uniforme parmi les 95 caractères ASCII imprimables .
/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+;
Votre tâche dans ce défi n'est pas d'écrire votre propre code, mais plutôt d'extraire le code de ce bloc de texte comme s'il s'agissait d'une énorme grille Boggle et que vous recherchez un programme exécutable au lieu d'un mot.
La soumission avec le programme qui produit la sortie finie la plus longue l'emporte.
Détails
Traitez la grille de texte 64 x 64 exactement comme une grille Boggle 64 x 64 avec des caractères supplémentaires. Construisez une chaîne qui est un programme exécutable dans une langue en choisissant un emplacement de départ dans la grille et en déplaçant à plusieurs reprises une étape verticalement, horizontalement ou en diagonale (8 directions au total) autant de fois que vous le souhaitez. Vous ne pouvez PAS utiliser le même espace de grille plus d'une fois!
Par exemple, ces 4 lignes ont été prises à partir du milieu du bloc de texte:
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
En commençant par l' p
extrémité droite de la troisième ligne, je peux passer à la diagonale en descendant et à droite, puis
"
en allant à droite, puis en remontant 3 fois zK
et à gauche 4 fois #3x"
. Cela trace la chaîne p " zK#3x"
qui, lorsqu'elle est exécutée en tant que programme Ruby , sort " zK#3x"
.
Le but est de trouver un programme qui produit la sortie finie la plus longue . Seuls les caractères ASCII imprimables sont pris en compte lors du comptage de la longueur de la sortie (cela signifie que les tabulations et les sauts de ligne ne sont pas comptés), bien que d'autres caractères puissent être présents. L'exemple Ruby ne produit que 8 caractères.
Également...
- Le programme peut comporter de 1 à 4096 caractères.
- Le programme peut ne pas contenir d'onglets, de nouvelles lignes ou d'ASCII non imprimables (car ils ne sont pas dans la grille).
- Le programme doit s'exécuter et se terminer sans erreur.
- Il n'y a pas de contraintes de temps ou de complexité tant que le programme se terminera finalement avec une sortie finie.
- La grille ne boucle pas de gauche à droite ou de haut en bas.
Veuillez indiquer où votre programme apparaît dans la grille afin que nous puissions rapidement vérifier qu'il est vraiment là.
la source
yes
, par exemple.Réponses:
CJam, sur (81182737 ^ 2813292) ↑↑ (10604499373-1) car
D'accord, je pense que j'ai finalement tout réglé. C'était amusant - trouver le code était comme naviguer dans un champ de mines.
Avant de plonger, commençons par un exemple plus simple ( essayez-le en ligne ):
h
est une boucle do-while qui laisse la condition sur la pile, et{}
sont des blocs de code. Le bloc intérieur est:Supposons que le haut de la pile soit
[1 10]
et nous effectuons le do-while{(\5*\}h;
. Voici ce qui se passe:Cela se produit jusqu'à ce que le 10 décrémente jusqu'à 0 et que la boucle se termine, point auquel nous nous retrouvons en
[5^10 0]
haut de la pile. On peut alors utiliser;
pour faire éclater le zéro, en partant[5^10]
.En d'autres termes, nous venons d'effectuer une exponentiation, avec pour
[1 x]{(\5*\}h;
résultat[5^x]
.Le bloc extérieur
{(\1\{(\5*\}h;\}h;
est similaire, mais au lieu de celui5*
du milieu, nous avons notre boucle "exponentiate base 5". Donc, pour notre exemple simple, en commençant par[1 3]
nous obtenons:Le sommet est nul, donc nous arrêtons la boucle et sautons, en partant
[5^5^5]
. En d'autres termes, nous venons de créer5^5^5
, ou5↑↑3
dans la notation de flèche vers le haut de Knuth . Vous pouvez basculer entre 5 et 3 pour d'autres nombres, mais l'hyperexponentiation devient très rapide , donc je ne recommanderais pas de choisir quelque chose de trop grand.Maintenant pour la vraie chose:
(Trace de chemin)
Anoté (tout ce qui est sans notes est une charge):
C'est fondamentalement le même que l'exemple simple, juste avec beaucoup de remplissage lors de la navigation d'une instruction à l'autre dans la grille.
Au lieu de 5 et 3, nous avons
81182737^2813292
et10604499373
, ce qui signifie que cela(81182737^2813292)↑↑10604499373
est sorti à la fin (avec suffisamment de temps et de mémoire, bien sûr!). Notez qu'il s'agit simplement d'une limite inférieure - il y a beaucoup d'autres impressions qui ont lieu, par exemple avec 6 et 3, la sortie dépasse 2 millions de caractères même si elle6^6^6
n'a que 36k chiffres.Si vous voulez essayer cette version complète par vous-même, testez avec:
en remplaçant les 5 et 3 des deuxième et quatrième lignes par des chiffres de votre choix. Notez que la sortie aura quelques chiffres supplémentaires autour de l'important nombre hyperexponentiated (à savoir un précédent
010
et un suivant0
).Quelques notes sur CJam
Vous vous demandez peut-être: pourquoi ne pas utiliser l'exponentiation (
#
) intégrée de CJam au lieu de la boucle do-while intérieure? Malheureusement, après avoir fouillé la source de CJam, j'ai appris que pour l'exponentiation, la base peut être un BigInt (précision arbitraire) mais l'exposant est converti en un int normal de 32 bits . Cela a des effets secondaires amusants mais ennuyeux:Cela signifiait que je ne pouvais pas utiliser l'exponentation intégrée de CJam lorsque l'exposant était trop grand, pour des raisons de débordement. Cependant, la multiplication est différente car multiplier deux BigInts donne un nouveau BigInt, j'ai donc décidé d'exploiter cela à la place.
la source
TECO, ~ 2 ^ 31 * 13 ~ = 27,9 * 10 ^ 9
Edit: J'ai changé quelques personnages parce que j'en ai réutilisé un accidentellement, mais cette partie était dans un commentaire donc ça ne fait pas beaucoup de différence.
L'
?
activation de l'écho de la commande, que j'utilise pour créer la plupart de la sortie. Ensuite, les caractères\RZK%B"s'1UC>
sont imprimés en boucle.%B"s
ajoute un à B, puis teste s'il est inférieur à zéro. Ainsi, ce conditionnel doit être entré après 2 ^ 31 cycles lorsqu'il déborde sur un nombre négatif. A l'intérieur du conditionnel, il y a uneEX
commande qui quitte le programme.Actuellement, j'essaie de l'exécuter jusqu'à la fin avec la sortie dirigée vers un fichier.
la source
HQ9 + (17195 caractères)
La source:
(commence à 5: 4 puis descend)
Sortie:
Le texte de la chanson "99 bouteilles de bière" (8596 caractères), la chaîne
9Q9
(3 caractères) et une autre copie de "99 bouteilles de bière" (8596 caractères).C'est une réponse très boiteuse et vous ne devriez pas la voter, mais quelqu'un a dû la poster.
la source