Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- def parse_inp():
- return tuple(map(lambda x: int(x), input().split(' ')))
- def pour(cur, cap, frm, to):
- cur = list(cur)
- old = cur[to]
- cur[to] = min(cap[to], cur[frm]+cur[to])
- cur[frm] -= cur[to] - old
- return tuple(cur)
- cap = parse_inp()
- start = parse_inp()
- end = parse_inp()
- visited = {start: 0}
- q = [start]
- while len(q) > 0:
- top = q.pop(0)
- if top == end:
- print(visited[top])
- sys.exit()
- for i in range(3):
- for j in range(3):
- config = pour(top, cap, i, j)
- if not config in visited:
- visited[config] = visited[top] + 1
- q.append(config)
- print(-1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement