Каждый символ в этом 64 на 64 текстовом блоке был выбран случайным образом и равномерно из 95 печатных символов ASCII .
/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
.3!sPGuFFZ@9.4u*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+;
Ваша задача в этой проблеме не писать свой собственный код, а для извлечения кода из этого блока текста , как будто это огромная Boggle сетка и вы ищете работающую программу , а не слово.
Представление с программой, которая производит самый длинный конечный результат, выигрывает.
Детали
Относитесь к сетке текста размером 64 на 64 точно так же, как к сетке размером 64 на 64 с дополнительными символами. Создайте строку, которая является исполняемой программой на каком-либо языке, выбрав начальное местоположение в сетке и многократно перемещая один шаг по вертикали, горизонтали или диагонали (всего 8 направлений) столько раз, сколько вы хотите. Вы не можете использовать одно и то же пространство сетки более одного раза!
Например, эти 4 строки были взяты из середины текстового блока:
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
Начиная с p
правого конца третьей линии, я могу перейти к диагонали вниз и вправо, затем
"
вправо, затем вверх 3 раза zK
и влево 4 раза #3x"
. Это отслеживает строку, p " zK#3x"
которая при запуске как программа Ruby выводит " zK#3x"
.
Цель состоит в том, чтобы найти программу, которая дает самый длинный конечный результат. При подсчете длины вывода учитываются только печатные символы ASCII (это означает, что вкладки и переводы строк не учитываются), хотя могут присутствовать и другие символы. Пример Ruby выдает только 8 символов.
Также...
- Программа может быть длиной от 1 до 4096 символов.
- Программа может не содержать вкладок, новых строк или непечатаемых ASCII (поскольку их нет в сетке).
- Программа должна работать и выходить без ошибок.
- Нет ограничений по времени или сложности, если программа в конечном итоге завершится с конечным выводом.
- Сетка не зацикливается слева направо или сверху вниз.
Пожалуйста, укажите, где ваша программа появляется в сетке, чтобы мы могли быстро убедиться, что она действительно там.
источник
yes
, например.Ответы:
CJam, свыше (81182737 ^ 2813292) ↑↑ (10604499373-1) символов
Ладно, думаю, я наконец все разобрался. Это было весело - придумывать код было все равно, что ходить по минному полю.
Прежде чем мы углубимся, давайте начнем с более простого примера ( попробуйте онлайн ):
h
это цикл do-while, который оставляет условие в стеке и{}
представляет собой кодовые блоки. Внутренний блок это:Предположим, что вершина стека есть,
[1 10]
и мы выполним задание{(\5*\}h;
. Вот что происходит:Это происходит до тех пор, пока 10 не уменьшится полностью до 0, и цикл не завершится, после чего мы окажемся
[5^10 0]
на вершине стека. Затем мы можем использовать,;
чтобы вытолкнуть ноль, оставив[5^10]
.Другими словами, мы только что выполнили возведение в степень, что
[1 x]{(\5*\}h;
привело к[5^x]
.Внешний блок
{(\1\{(\5*\}h;\}h;
аналогичен, но вместо5*
середины у нас есть петля «экспоненциальной базы 5». Итак, для нашего простого примера, начиная с[1 3]
:Вершина равна нулю, поэтому мы останавливаем цикл и выходим, уходя
[5^5^5]
. Другими словами, мы только что создали5^5^5
, или5↑↑3
в обозначении стрелки Кнута . Вы можете переключать 5 и 3 для других чисел, но гиперэкспонентация быстро увеличивается , поэтому я бы не советовал выбирать что-то слишком большое.Теперь по-настоящему:
(Трассировка пути)
Аннотированный (что-либо без примечаний является наполнителем):
Это в основном то же самое, что и простой пример, просто с большим количеством наполнителя при переходе от одной инструкции к другой в сетке.
Вместо 5 и 3 мы имеем
81182737^2813292
и10604499373
, что означает, что(81182737^2813292)↑↑10604499373
выводится в конце (конечно, при наличии достаточного количества времени и памяти!). Обратите внимание, что это всего лишь нижняя граница - существует много других видов печати, например, при 6 и 3 выходной файл имеет длину более 2 миллионов символов, хотя6^6^6
имеет только 36 тыс. Цифр.Если вы хотите попробовать эту полную версию для себя, протестируйте с помощью:
заменив 5 и 3 во второй и четвертой строках номерами по вашему выбору. Обратите внимание, что выходные данные будут иметь несколько дополнительных цифр вокруг важного гиперэкспонированного числа (а именно, предшествующего
010
и конечного0
).Несколько заметок о CJam
Возможно, вы задаетесь вопросом: почему бы не использовать встроенное возведение в степень CJam
#
вместо внутреннего цикла do-while? К сожалению, после изучения источника CJam я узнал, что для возведения в степень база может быть BigInt (произвольная точность), но показатель степени конвертируется в обычный 32-битный тип int . Это имеет некоторые забавные, но раздражающие побочные эффекты:Это означало, что я не мог использовать встроенную экспоненту CJam, когда показатель слишком велик по причинам переполнения. Тем не менее, умножение отличается тем, что умножение двух BigInts приводит к новому BigInt, поэтому я решил использовать его вместо этого.
источник
TECO, ~ 2 ^ 31 * 13 ~ = 27,9 * 10 ^ 9
Изменить: изменил пару символов, потому что я случайно использовал один, но эта часть была внутри комментария, так что это не имеет большого значения.
В
?
очереди на команды эхо, которые я использую , чтобы создать большую часть продукции. Затем символы\RZK%B"s'1UC>
печатаются в цикле.%B"s
добавляет один к B и затем проверяет, является ли это меньше чем ноль. Таким образом, это условие должно быть введено после 2 ^ 31 циклов, когда оно переполняется до отрицательного числа. Внутри условного естьEX
команда, которая выходит из программы.В настоящее время я пытаюсь запустить его до конца с выводом в файл.
источник
HQ9 + (17195 символов)
Источник:
(начинается в 5: 4 и затем вниз)
Выход:
Текст к песне «99 бутылок пива» (8596 знаков), строка
9Q9
(3 знака) и еще один экземпляр «99 бутылок пива» (8596 знаков).Это очень неубедительный ответ, и вы не должны его голосовать, но кто-то должен был опубликовать его.
источник