diff options
Diffstat (limited to '2016/4b.py')
-rwxr-xr-x | 2016/4b.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/2016/4b.py b/2016/4b.py new file mode 100755 index 0000000..a9b631b --- /dev/null +++ b/2016/4b.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python3 + +import sys, re, functools + +encr=filter(lambda t:"".join(x[1] for x in sorted([(len(p[0]),p[1]) for p in re.findall(r"((.)\2*)","".join(sorted(t[0].replace("-",""))))],key=lambda t:(-t[0],t[1]))[:5])==t[2],[re.match(r"([-a-z]+)-(\d+)\[([a-z]+)\]",r).groups() for r in sys.stdin.read().split("\n")[:-1]]) + +decr=[("".join(" " if c=="-" else "".join(chr(x) for x in range(97,123))[(ord(c)-97+int(r[1]))%26] for c in r[0]),r[1]) for r in encr] + +found=next(r for r in decr if r[0].find("northpole")!=-1)[1] + +print(found) |