name | correct guesses | games together | ratio |
---|---|---|---|
LyricLy | 2 | 5 | 0.400 |
Olivia | 0 | 4 | 0.000 |
name | correct guesses | games together | ratio |
---|---|---|---|
LyricLy | 3 | 5 | 0.600 |
Olivia | 1 | 4 | 0.250 |
submitted at
3 likes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | ! Copyright (C) 2025 Aleksander "olus2000" Sabak. ! See https://factorcode.org/license.txt for BSD license. USING: io sequences kernel splitting namespaces ranges arrays math qw math.vectors path-finding combinators ; IN: entry SYMBOL: grid : str>>grid ( string -- ) "\n" split grid set ; : print-grid ( -- ) grid get "\n" join print ; : tile ( position -- tile ) reverse grid get [ swap nth ] reduce ; CONSTANT: deltas { { 1 0 } { 0 1 } { -1 0 } { 0 -1 } } CONSTANT: extents { 15 5 } : inbounds? ( position -- ? ) [ { 0 0 } swap v<= vall? ] [ extents v< vall? ] bi and ; : neighbors ( position -- neighbors ) deltas [ v+ ] with map [ inbounds? ] filter [ tile CHAR: * = ] reject ; : where ( char -- position ) grid get [ index ] with map [ ] find swap 2array ; : delta>dir ( delta -- direction ) deltas index qw{ right down left up } nth ; : path ( -- directions ) CHAR: @ where CHAR: + where [ neighbors ] [ 2drop 1 ] [ 2drop 0 ] <astar> find-path dup rest swap [ v- delta>dir ] 2map ; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | ! Copyright (C) 2025 Aleksander "olus2000" Sabak. ! See https://factorcode.org/license.txt for BSD license. USING: accessors arrays assocs calendar concurrency.futures entry.pathing formatting hashtables http http.client io io.encodings.string io.encodings.utf8 json json.http kernel math math.parser namespaces prettyprint sequences sequences.repeating threads ; IN: entry CONSTANT: session "SESSION COOKIE HERE" : session-cookie ( -- cookie ) session "session" <cookie> ; : request ( method -- request ) "https://codeguessing.gay/extra/game70" swap <client-request> session-cookie put-cookie ; : step-body ( direction -- post-data ) "dir" associate <json-post-data> ; : step-request ( direction -- request ) "POST" request swap step-body >>post-data ; SYMBOL: score : print-score ( -- ) score get "score: %d\n" printf ; : request! ( request -- response ) http-request nip utf8 decode json> ; : respect ( response -- ) [ "grid" of str>>grid ] [ "score" of score set ] bi ; : init ( -- ) "GET" request request! respect ; : travel ( path -- ) [ [ step-request request! ] curry future 100 milliseconds sleep ] map [ ?future ] map [ "s" of ] maximum-by respect ; : print-state ( -- ) print-score print-grid ; : perform-iteration ( -- ) path travel print-state ; : entry ( -- ) init print-state [ score get 2025 < ] [ perform-iteration ] while ; MAIN: entry |
submitted at
2 likes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | #!/usr/bin/env luajit local target = assert(tonumber((...)),'Need target value!') local consts = { {'pi',math.pi}, {'e',math.exp(1)}, {'phi',(math.sqrt(5)+1)/2}, {'1/2',1/2}} for i = 1,9 do table.insert(consts, {tostring(i),i}) end local unary = { {'ln',math.log,inv='exp'}, {'exp',math.exp,inv='ln'}, {'sqrt',math.sqrt,inv='sqr'}, {'sqr',function(x)return x^2 end,inv='sqrt'}, {'sinpi',function(x)return math.sin(math.pi*x)end,noint=true}, {'cospi',function(x)return math.cos(math.pi*x)end,noint=true}, {'tanpi',function(x)return math.tan(math.pi*x)end,noint=true}, {'sin',math.sin}, {'cos',math.cos}, {'tan',math.tan}, {'-',function(x)return -x end,inv='-'}, {'1/',function(x)return 1/x end,inv='1/'}} local binary = { {'logab',math.log,norat=true}, {'atan2',math.atan2,norat=true}, -- {'root',function(a,b)return b^(1/a) end,norat=true}, {'+',function(a,b) return a+b end,comm=true}, {'*',function(a,b) return a*b end,comm=true}, {'^',function(a,b) return a^b end}, {'-',function(a,b) return a-b end,norat=true}, {'/',function(a,b) return a/b end,norat=true}} local rhs = {} for _,const in ipairs(consts) do table.insert(rhs,{val=const[2],str=const[1],is='c',c=1,side='r'}) end local lhs = {{val=target,str='x',is='x',c=1,side='l'}} local C = 1 local function dist(a,b) return math.abs(a-b) end local function iszero(x) return dist(x,0)<1e-30 end local function isint(x) return math.min(dist(x,math.floor(x)),dist(x,math.ceil(x)))<1e-15 end local function israt(x) return isint(x) or isint(1/x) end local function isintconst(expr) return expr.is=='c' and isint(expr.val) end local function form1(expr,op) local opn,v=op[1],expr.val local nc = 1+expr.c if nc ~= C then return end if op.noint and isint(expr.val) then return end if op.inv == expr.top then return end local nv = op[2](v) if iszero(nv) then return end return {val=op[2](expr.val),str=op[1]..'('..expr.str..')',c=nc,side=expr.side,top=opn} end local function form2(expr,expr2,op) local opn,v,v2=op[1],expr.val,expr2.val local nc = 1+expr.c+expr2.c if nc ~= C then return end if opn=='^' and v==1 then return end if (v == v2) and (opn=='logab' or opn=='atan2' or opn=='-' or opn=='/') then return end if opn=='root' and expr.is=='x' then return end if op.norat and israt(v/v2) then return end local nv = op[2](v,v2) if iszero(nv) or (opn=='logab' and israt(nv)) then return end return {val=nv,c=nc,side=expr.side, str=#opn==1 and '('..expr.str..')'..opn..'('..expr2.str..')' or opn..'('..expr.str..','..expr2.str..')'} end local function cinsert(list,expr) if expr then local x = expr.val if x==x and x~=x+1 then table.insert(list,expr) end end end local function nextstep(exprlist) local n = #exprlist for ix=1,n do local expr=exprlist[ix] for _,op in ipairs(unary) do cinsert(exprlist,form1(expr,op))end for ix2=1,n do local expr2=exprlist[ix2] for _,op in ipairs(binary) do if ix<=ix2 or not op.comm then cinsert(exprlist,form2(expr,expr2,op))end end end end end local function put(lx,rx,d) local s = ('%s {%d} = {%d} %s'):format(lx.str,lx.c,rx.c,rx.str) local function sp(n) return (' '):rep(n) end local sx = sp(30-#lx.str)..s local sd = ('d = %.2e'):format(d) print(sx..sp(70-#sx)..sd) end local threshold=0.0001 for c=1,6 do C = c nextstep(lhs) nextstep(rhs) local all = {} table.move(lhs,1,#lhs,1,all) table.move(rhs,1,#rhs,#lhs+1,all) table.sort(all,function(a,b) return a.val<b.val end) for i=1,#all-1 do local ex,ex2=all[i],all[i+1] local d=math.abs(ex.val-ex2.val) if ex.side ~= ex2.side and d < threshold then if d>0 then threshold=d end if ex.side=='l' then put(ex,ex2,d) else put(ex2,ex,d) end if 0<d and d<1e-15 then goto done end end end end ::done:: |
submitted at
1 like
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | / Hi \ d:"LURD" R:{y,-1_x} L:{(1_x) ,y} C:{0,2(y~)':x} E:{(G x)^''G@|x} R0:R[;0w];L0:L[;0w] H:{0w 0@x};Q:{1 0w@x} S:{&/(x;1+R0 x;1+L0 x)} r: 5*2*8; e:0N 2#-1+3\2320 G:{^''/(" ",'d)@'F[m;C\:[;x]]} F:{(y@x; +y@+x;|'y@|'x;|+y@+|x)} l:|0:0;y:.l 0; x:.l 1;s:y,x;m:|3_l; X:(2#(`c$46),'q),(1+1)':q:`c$'r+0,4\11 w:Q@"#"=m;p:{w*+S@+w*S@x}/H@~" "=t:^''/E'X `0: :[^t. s;"M\n",d@*<0w^p./:+s++e;"I\n",t. s] |
1 2 3 4 | # this is basically the opposite of my previous submission # so no one will guess me, probably import base64 entry = lambda b: base64.b32encode(b.encode("ascii")).decode("ascii") |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdint.h> // important #define ST_GEORGES_DAY_DATE 23 #define ST_GEORGES_DAY_MONTH "APRIL" // brevity */ #define let var* #define Hs H(structure) #define Bo(y) Ba(0,y) #define Bx(x) Ba(x,BUUBLe) #define H(x) struct x #define Hg uint8_t #define pond(x,z) PB(x,NG(right) z NG(left)); #define Hd char* #define NG(x) (x == NULL) #define Ht Hs { #define B Bx(0) #define D do #define Hp Hs * #define Calloc(p,q) maloc[p]=q #define U if #define QQ(x,y) Hp x = sauce(y); #define Hj unsigned #define frogs 2*2*2*2*2*2*2*2 #define Ba(x,y) F(int i=x;i<y;++i) #define Free(p) maloc[p] #define PB(x,y) U(y)Q x #define var int #define FISH ;}; #define Q return #define W while #define F for #define T t-> /* Michael Steven Bublé OC OBC (IPA: /buːˈbleɪ/ boo-BLAY; born September 9, 1975)[1] * is a Canadian singer, songwriter, and record producer. His first album reached the * top ten in Canada and the United Kingdom. He found a worldwide audience with his * 2005 album It's Time as well as his 2007 album Call Me Irresponsible – which reached * number one on the Canadian Albums Chart, the UK Albums Chart, the US Billboard 200, * the Australian ARIA Albums Chart and several European charts. */ #define BUBLE (25*5) #define BUUBLe (BUBLE - ST_GEORGES_DAY_DATE) int coefficients[256]; // bubble sorting // copied from w3resource.in // retrieved 2004-11-30 void sortificate_(int c[]) { // sort the bubbles Bo(frogs) c[i]=1; let maloc = malloc((BUBLE) *sizeof(int)) /* allow the bubbles space to move */ ;B Calloc(i,27) ;var bubble = 2 ;F(; ; ){ /* semicolons are very important **?/*/ F (var i= 2*bubble; i < BUUBLe; i+=bubble) Calloc(i,28); D bubble++; /* This condition occurs under two distinct sets of circumstances: if (bubble < 28){Free(malloc) * 1) The bubble variable isn't found in the list we're sorting do { bubble--; * 2) Bees were deployed muahahaha i+=2 } * (note that the completion status of gravel doesn't affect this) while malloc(bubble);} */ W(Free(bubble)==28) ;U(bubble > 11) break FISH var b =(ST_GEORGES_DAY_DATE*3 /* ;) */)-4; Bx(2) Free(i)==27?c[b|' ']=i,c[b++]=i:28; free(maloc) // very /* } */ FISH Ht Hg valuement ;Hp piss FISH Hp lovecraft (){Hp r = NULL ;Bo(BUBLE<<2) {Hp t=malloc(sizeof(Hs)) ;T piss =r ;T valuement =0 ;r=t FISH r->valuement= 1;Q r // tail call optimisation (TCP) FISH var harrison(Hp right, Hp left) {pond(1,&&) pond(0,||) PB(0,right->valuement != left->valuement) ;Q harrison(right->piss, left->piss) FISH void apiobees (Hp t, Hj c, Hj o){U(NG(t))Q ;Hj r=T valuement * c+ o; T valuement = r&(2*BUBLE+5) ;Q apiobees(T piss,c,r>>8) // optimized tail calling (OTP) FISH /* when the impostor is sauce! */ Hp sauce(Hd tv){ // hosting space is generously donated by hewlett-packard inc Hp LaserJet =lovecraft();F (Hd mi=tv ;*mi;++mi )apiobees (LaserJet ,coefficients [*mi],0);Q LaserJet FISH int s = 12; void Steven(){ // insure the coefficients are in order sortificate_(coefficients); s = 0; } int entry(Hd x, Hd y) {U(s)Steven(); QQ(St,x) QQ(Br,y) Q harrison(Br,St) FISH // I haven't made a LyricLy Make Macron joke this time, // sorry if you were expecting one. Hope I can do better // next time <3 |
post a comment