Congratulations to: * 2024/anders - Prize in sound coding - layered music generator * 2024/burton - Prize in pentagrammatology - wordle hard mode solver * 2024/cable1 - Prize in bot talk - LLM inference engine * 2024/cable2 - Prize in murky waters - salmon recipe * 2024/carlini - Prize in perfect timing - Intel 4004 emulation * 2024/codemeow - Prize in tray planting - bonsai generator * 2024/endoh1 - Prize in patient pointillism - slow ray tracer in CPP * 2024/endoh2 - Prize in solid body physics - rotating rigid body simulation * 2024/ferguson1 - Prize in diabolical logistics - Oregon trail pact with the devil * 2024/ferguson2 - Prize in yil-tas - Navajo code talker translator * 2024/howe - Nice accent eh-ward - mini vi * 2024/kramer - Prize in linguistic arithmetic - natural language numerical calculator * 2024/kurdyukov1 - Prize in phased periodicity - phase of the Moon * 2024/kurdyukov2 - Prize in art restoration - JPEG artifact removal * 2024/kurdyukov3 - Prize in virtual quietus - gaming VM and doom * 2024/kurdyukov4 - Prize in embiggening - encode without literals * 2024/maffiodo - Prize in creative interpretation - Jav\*script interpreter * 2024/mills - Prize in ℤ₃ - Infocom v3 story interpreter * 2024/stedolan - Best one liner - icon from MD5 * 2024/straadt - Prize in imitative rebooting - OpenRISC CPU and Linux * 2024/tmarrec - Prize in cyclonic coding - 3D tornado simulation * 2024/tompng - Prize in quasi bijection - vortex encryptor decryptor * 2024/weaver - Sur prize - rickroll Ran `make update` to perform the above. new file: 2024/burton/.entry.json
65 lines
3.0 KiB
C
65 lines
3.0 KiB
C
#include <stdarg.h>
|
|
#include <stdlib.h>
|
|
# include <stdio.h>
|
|
#define J(J) for (\
|
|
_ j=0; j<5; ++j) J;
|
|
#define/*IOCCC*/I \
|
|
\
|
|
\
|
|
\
|
|
_ W,_ O,_ R,_ D,_*L,_*E
|
|
|
|
|
|
#define A(A )for(_ j=0; !o&&j<5&&(k = t[l][j]); ++j)A&&++o;
|
|
typedef/* ; ; */void q; typedef int _ ; typedef char/* */p;
|
|
struct{ p a [257],b[9][ 5],c[5],d[5 ]; _ e,f; } i;p t[78557
|
|
][5]; _ s,a []={ 9,9,9, 10,13,18,27 ,39,55,1,18 ,2,1,1,35,2
|
|
,19,18,1,52 ,36,35,20,3 ,2,19,18,18 ,69,2,53,1, 52,37,3,20,
|
|
36,19,35,18 ,52,86,2,53 ,70,1,69,38 ,4,21,3,37, 19,36,35,25
|
|
,10,+17,15, 26,9,11,12, 23,2,06,18, 13,20,22,14 ,1,24,19,21
|
|
|
|
,16,5,7,4,8 ,3},u=' ';_ W(p*a,p*b){ for(p*c=a+5 ;a<c;)*a++=
|
|
*b++;return 0; } _ O(p* a,p b){ p*c =a+5; for(; a<c&&*a-b;)
|
|
++a; return a<c?5-(a-c) :0; } _ R(p *a, ... ) { va_list b ;
|
|
va_start(b, a); vprintf (a,b); exit (1); } q D( p*a){ if (s
|
|
==sizeof t/ 5)R("limit" " %d\n",s); p*b=s[t],i, j; for(i=j=
|
|
0; i<7&&!j; ++i)if(!(j= *a==10?i:0) )*b++=u|* a ++; j-5||++
|
|
s; } q L(p* a,_ b){ for (_ l=0,o=0, k; l<s; o=0 ){ A(i.c[j]
|
|
|
|
&&k-i.c[j]) A(i.a[k])A( i.d[j]&&!O( t[l],i.d[j] ))for(_ f=i
|
|
.e; f--&&!o ; )A(i.b[f] [j]==k)if(! o){ J(o+=t[ l][j]==a[j]
|
|
)o=o==5?b!= 5:0; } o?W( t[l],t[--s] ) :++l; } } _ e(I){ for
|
|
(; O<D; )L[ R++]=E[O+++ D*W];return R; } q S( _ O,_*l){ for
|
|
(_*s=&a[a[O ]],*e=a[-~O ]+s-a[O]; s <e; ){ _ i= *s++,j=i&15
|
|
,k=l[i>>=4] <l[+j]?k=l[ i],l[i]=l[j ],l[j]=k:i; } } _ o(I){
|
|
_ o=0, w=0; for(; o<D&w <D; )L[R++] =E[o+D*W]>= E[w+D*O]?E[
|
|
o+++D*W]:E[ w +++ D*O]; return e(O, w,e(W,o,R,D ,L,E),D,L,E
|
|
|
|
); } q l( _ n,_*f){ for (_* e=f+26, i,j; f<e&&* f>u; f+= i)
|
|
{ for(i=1,j =*f/u; i <n &&f[i]>>5== j; )++i;for (j=0; j <i;
|
|
++j)f[j] &= 31,f[j]|=a[ f[j]+a[~-9] ]<<5; S(i,f ); } } q v(
|
|
_ a,_*w,_*k ){ o(2,3,o( 0,1,0,a,w,k ),a,w,k); o (0,1,0,a+a,
|
|
k,w); l(a,k ); } p*E(p* d){ _ l,j,k =u,b[u] ,c[ k]; p*e[97]
|
|
[5 ]={ 0} ; for(l=0; l< k; ++l)c[l] =l; for(l=0 ; l<s; ++l)
|
|
J(c[t[l][j] -97]+=k)for (l= j=7; j< 22; j+=l)S( l,c+j-l); v
|
|
|
|
(l,b,c);for (l= 0; l<k; ++l)b[c[l]& ~-k]=l; for (k*=3,l= 0;
|
|
l<s; ++l) { _ i=0; J( i +=b[t[l][j] -97])if(i<k )J(e[i][ j]
|
|
||(e[i][j]= t[l],j=4))} for(l=0; l< k; ++l)for( p*b=0,k=j=0
|
|
; j<5&&(b=e [l][j]); k= !++j){ p c[ 32]={0} ; d =*d-120?d:b
|
|
; if(s>2)J( k+=++c[b[j] -97]>1); if (!k) return b; } return
|
|
d; } p*r(p* b){ _ k, l; for(_ j=k=l =0; j<5; ++ j) { signed
|
|
char n=b[j] ,o=b[j-~5]+ ~0x66; (o?i .b[i.e]:i.c )[j]=n; !o?
|
|
|
|
i.a[n]=!++k :O(i.d,n)|| (*(o<0?&i.a [n]:&i.d[i. f++])=l=n);
|
|
} i.e += !! l; L(b, k); return E("" "xyzzy"); } _ main(_ n,
|
|
char**v){ p *j=i .c-97, *l=j-11; n- 2?R("usage" ": %s dict"
|
|
"\n",* v):5 ; ; FILE*k= fopen(*++v, "r"); if(!k ) return //
|
|
perror(*v), 1; ; while( fgets(j, u^ n,k)) D(j); fclose (k);
|
|
; ; setbuf( stdout, 0); while(~-s){ printf("? " ); while(~(
|
|
n=getchar() )&&n-10&&l< j)*l++=n; l <j&&R("inp" "ut: guess"
|
|
" color\n") ;printf("%" ".5s\n",r(l =j+~10)); } return 0; }
|
|
|
|
|
|
|