You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

p14.py 545B

4 years ago
123456789101112131415161718192021222324
  1. import re
  2. import sys
  3. import toolkit
  4. text = sys.stdin.read().strip()
  5. found = {i: toolkit.md5(f'{text}{i}') for i in range(30_000)}
  6. print([
  7. i
  8. for i, dig in found.items()
  9. for c in re.findall(r'(.)\1\1', dig)[:1]
  10. if any(c * 5 in found.get(i + j + 1, '') for j in range(1000))
  11. ][63])
  12. for _ in range(2016):
  13. found = {k: toolkit.md5(v) for k, v in found.items()}
  14. print([
  15. i
  16. for i, dig in found.items()
  17. for c in re.findall(r'(.)\1\1', dig)[:1]
  18. if any(c * 5 in found.get(i + j + 1, '') for j in range(1000))
  19. ][63])