Init script

This commit is contained in:
Sebastian Seedorf
2020-12-15 09:09:34 +01:00
parent e6e33b35dd
commit c116e1f37c
2 changed files with 17 additions and 1 deletions

View File

@@ -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"))): 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[]))} 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())) print(sum(m.values()))

16
newday.sh Normal file
View File

@@ -0,0 +1,16 @@
f="day$1"
echo "$f"
mkdir "$f"
touch "$f/input.txt"
txt=$(cat <<EOF
#!/usr/bin/env python3
lines = (x.strip() for x in open("input.txt"))
for line in lines:
pass
EOF
)
echo "$txt" > "$f/part1.py"
echo "$txt" > "$f/part2.py"