Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2024
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. import random
  2.  
  3. frogs = []
  4. frogs_sorted = []
  5. n = int(input("Enter the number of frogs: "))
  6. lower_bound = int(input("Enter the lower bound: "))
  7. upper_bound = int(input("Enter the upper bound: "))
  8.  
  9. for i in range(n+1):
  10. if i == 0:
  11. frogs.append(0)
  12. frogs_sorted.append(0)
  13. else:
  14. number = random.randint(lower_bound, upper_bound)
  15. frogs.append(number)
  16. frogs_sorted.append(number)
  17. print(frogs)
  18.  
  19. # Helper variables
  20. moves = 0
  21. p = 0
  22. q = 0
  23.  
  24. frogs_sorted = sorted(frogs_sorted, reverse=True)
  25. if n == 1:
  26. total_moves = 0
  27. else:
  28. while True:
  29. if frogs[1:] == frogs_sorted[:n]:
  30. break
  31. # Move from left to right
  32. if q == 0:
  33. if frogs[p] == frogs[-2]:
  34. frogs[p], frogs[p+1] = frogs[p+1], frogs[p]
  35. p += 1
  36. elif frogs[p] == frogs[-1]:
  37. q = 1
  38. elif frogs[p+2] > frogs[p+1]:
  39. frogs[p], frogs[p+2] = frogs[p+2], frogs[p]
  40. p += 2
  41. else:
  42. frogs[p], frogs[p+1] = frogs[p+1], frogs[p]
  43. p += 1
  44. # Move from right to left
  45. if q == 1:
  46. if frogs[p] == frogs[1]:
  47. frogs[p], frogs[p-1] = frogs[p-1], frogs[p]
  48. p -= 1
  49. elif frogs[p] == frogs[0]:
  50. q = 0
  51. elif frogs[p-2] < frogs[p-1]:
  52. frogs[p], frogs[p-2] = frogs[p-2], frogs[p]
  53. p -= 2
  54. else:
  55. frogs[p], frogs[p-1] = frogs[p-1], frogs[p]
  56. p -= 1
  57. moves += 1
  58. print(frogs)
  59. total_moves = moves
  60. print("Total moves: ", total_moves)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement