viligen

matching_2

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