darts.py 598 B

12345678910111213141516171819
  1. '''
  2. > https://www.codingame.com/ide/puzzle/darts
  3. @author: olivier.massot, 2019
  4. '''
  5. size = int(input())
  6. radius = size // 2
  7. players = [input() for _ in range(int(input()))]
  8. scores = {p: [] for p in players}
  9. for _ in range(int(input())):
  10. name_, x, y = input().split()
  11. x, y = int(x), int(y)
  12. score = 5 * (((abs(x) + abs(y)) <= radius) + ((x**2 + y**2) <= radius**2) + (abs(x) <= radius and abs(y) <= radius))
  13. scores[name_].append(score)
  14. for s, _, p in sorted([(sum(scores[p]), i, p) for i, p in enumerate(players)], key=lambda x: (x[0], -1*x[1]), reverse=True):
  15. print(f"{p} {s}")