Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

34 linhas
870B

  1. # flake8: noqa
  2. import sys
  3. text = sys.stdin.read()
  4. pos = 0
  5. aim = 1
  6. for line in text.splitlines():
  7. char, step = line[0], int(line[1:])
  8. if char == 'N': pos += step * 1j
  9. elif char == 'S': pos -= step * 1j
  10. elif char == 'E': pos += step
  11. elif char == 'W': pos -= step
  12. elif char == 'F': pos += step * aim
  13. elif char == 'L': aim *= 1j ** (step // 90)
  14. elif char == 'R': aim /= 1j ** (step // 90)
  15. print(abs(pos.real) + abs(pos.imag))
  16. pos = 0
  17. way = 10 + 1j
  18. for line in text.splitlines():
  19. char, step = line[0], int(line[1:])
  20. if char == 'N': way += step * 1j
  21. elif char == 'S': way -= step * 1j
  22. elif char == 'E': way += step
  23. elif char == 'W': way -= step
  24. elif char == 'F': pos += step * way
  25. elif char == 'L': way *= 1j ** (step // 90)
  26. elif char == 'R': way /= 1j ** (step // 90)
  27. print(abs(pos.real) + abs(pos.imag))