09_marbles.py 579 B

12345678910111213141516171819202122
  1. #!/usr/bin/env python3
  2. import sys
  3. from collections import deque
  4. def play(nplayers, nmarbles):
  5. scores = [0] * nplayers
  6. circle = deque([0])
  7. for marble in range(1, nmarbles + 1):
  8. if marble % 23 == 0:
  9. circle.rotate(7)
  10. scores[marble % nplayers] += marble + circle.pop()
  11. circle.rotate(-1)
  12. else:
  13. circle.rotate(-1)
  14. circle.append(marble)
  15. return max(scores)
  16. nplayers, nmarbles = map(int, sys.stdin.readline().split()[::6])
  17. print(play(nplayers, nmarbles))
  18. print(play(nplayers, nmarbles * 100))