diff --git a/day14/part2-minified.py b/day14/part2-minified.py index c473ade..ee83e4f 100644 --- a/day14/part2-minified.py +++ b/day14/part2-minified.py @@ -1,4 +1,4 @@ -import re;m,s={},"0"*36;c=lambda r,s:[i for it in((0,1)if r[0]=='X'else(int(r[0]),))for i in c(r[1:],s*2+it)]if len(r)else[s] +import re;m,s={},"0"*36;c=lambda r,s:[i for j in((0,1)if r[0]=='X'else(int(r[0]),))for i in c(r[1:],s*2+j)]if len(r)else[s] for(addr,dec),s in map(lambda k:(list(map(int,getattr(re.match(r"mem\[(.+)] = (.+)",k),'groups',lambda:(-1,0))())),(re.match(r"mask = (.+)",k)or(0,s))[1]),(x.strip()for x in open("input.txt"))): m={**m,**dict((x,dec) for x in(c([(a if b=='0'else b)for a,b in zip(format(addr,'036b'),s)],0)if addr!=-1else[]))} print(sum(m.values())) diff --git a/newday.sh b/newday.sh new file mode 100644 index 0000000..12c0e0f --- /dev/null +++ b/newday.sh @@ -0,0 +1,16 @@ +f="day$1" +echo "$f" +mkdir "$f" +touch "$f/input.txt" +txt=$(cat < "$f/part1.py" +echo "$txt" > "$f/part2.py"