viligen

matching

Feb 1st, 2022
985
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.28 KB | None | 0 0
  1. from collections import deque
  2.  
  3. males_stack = [int(n) for n in input().split()]
  4. females_que = deque([int(n) for n in input().split()])
  5.  
  6. matches = 0
  7.  
  8. while males_stack and females_que:
  9.     current_male = males_stack[-1]
  10.     current_female = females_que[0]
  11.     if current_female <= 0 and current_male <= 0:
  12.         females_que.popleft()
  13.         males_stack.pop()
  14.         continue
  15.     elif current_female <= 0:
  16.         females_que.popleft()
  17.         continue
  18.     elif current_male <= 0:
  19.         males_stack.pop()
  20.         continue
  21.     if current_female % 25 == 0:
  22.         females_que.popleft()
  23.         if females_que:
  24.             females_que.popleft()
  25.         continue
  26.     if current_male % 25 == 0:
  27.         males_stack.pop()
  28.         if males_stack:
  29.             males_stack.pop()
  30.         continue
  31.  
  32.     if current_male == current_female:
  33.         matches += 1
  34.         males_stack.pop()
  35.         females_que.popleft()
  36.     else:
  37.         females_que.popleft()
  38.         males_stack[-1] -= 2
  39.  
  40. print(f"Matches: {matches}")
  41. if males_stack:
  42.     print(f"Males left: {', '.join([str(n) for n in reversed(males_stack)])}")
  43. else:
  44.     print("Males left: none")
  45. if females_que:
  46.     print(f"Females left: {', '.join([str(n) for n in females_que])}")
  47. else:
  48.     print("Females left: none")
  49.  
Advertisement
Add Comment
Please, Sign In to add comment