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.

4 anos atrás
1234567891011121314151617181920212223242526272829303132333435363738
  1. import sys
  2. def play(start, cycles):
  3. lim = len(start)
  4. cur = start[0]
  5. ns = [None for _ in range(lim + 1)]
  6. for a, b in zip(start, start[1:] + start[:1]):
  7. ns[a] = b
  8. for _ in range(cycles):
  9. a = ns[cur]
  10. b = ns[a]
  11. c = ns[b]
  12. dest = (cur - 1) or lim
  13. while dest in (a, b, c):
  14. dest = (dest - 1) or lim
  15. ns[dest], ns[c], ns[cur] = a, ns[dest], ns[c]
  16. cur = ns[cur]
  17. return ns
  18. text = sys.stdin.read().strip()
  19. ns = [int(n) for n in text]
  20. ordering = play(ns, 100)
  21. sol = [1]
  22. for _ in range(len(ordering) - 2):
  23. sol.append(ordering[sol[-1]])
  24. print(''.join(str(n) for n in sol[1:]))
  25. ns.extend(n + 1 for n in range(len(ns), 1_000_000))
  26. ordering = play(ns, 10_000_000)
  27. print(ordering[1] * ordering[ordering[1]])