Advertisement
Guest User

Untitled

a guest
Feb 28th, 2020
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.70 KB | None | 0 0
  1. import sys
  2. def parse_inp():
  3.     return tuple(map(lambda x: int(x), input().split(' ')))
  4.  
  5. def pour(cur, cap, frm, to):
  6.     cur = list(cur)
  7.     old = cur[to]
  8.     cur[to] = min(cap[to], cur[frm]+cur[to])
  9.     cur[frm] -= cur[to] - old
  10.     return tuple(cur)
  11.  
  12. cap = parse_inp()
  13. start = parse_inp()
  14. end = parse_inp()
  15.  
  16. visited = {start: 0}
  17. q = [start]
  18. while len(q) > 0:
  19.     top = q.pop(0)
  20.     if top == end:
  21.         print(visited[top])
  22.         sys.exit()
  23.     for i in range(3):
  24.         for j in range(3):
  25.             config = pour(top, cap, i, j)
  26.             if not config in visited:
  27.                 visited[config] = visited[top] + 1
  28.                 q.append(config)
  29.                
  30. print(-1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement