diff options
author | tomsmeding <tom.smeding@gmail.com> | 2017-12-02 09:30:07 +0100 |
---|---|---|
committer | tomsmeding <tom.smeding@gmail.com> | 2017-12-02 09:30:07 +0100 |
commit | 2c1dccf57d7ad5e25e79063dea41fd7bfa9d9ac6 (patch) | |
tree | 6c36355ef1a475f2b7cf388402afc96a16588d3d /2016/4b.py | |
parent | 2d02f553aa4cc4ded630628eccdf34f55937cee5 (diff) |
Move 2016 to its own folder
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) |