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.

25 satır
526B

  1. import collections
  2. import itertools
  3. import sys
  4. text = sys.stdin.read()
  5. inp = [int(n) for n in text.split(',')][::-1]
  6. seen = collections.defaultdict(lambda: collections.deque(maxlen=2))
  7. spoken = None
  8. for turn in itertools.count(1):
  9. if inp:
  10. spoken = inp.pop()
  11. elif len(seen[spoken]) < 2:
  12. spoken = 0
  13. else:
  14. spoken = seen[spoken][-1] - seen[spoken][-2]
  15. if turn == 2020:
  16. print(spoken)
  17. elif turn == 30_000_000:
  18. print(spoken)
  19. break
  20. seen[spoken].append(turn)