python POJ 2262
时间: 2023-11-25 15:52:36 浏览: 148
根据提供的引用内容,我们可以得知这是一道关于水壶倒水问题的题目。下面是Python实现POJ 2262的代码:
```python
from collections import deque
def bfs(a, b, c):
q = deque()
q.append((0, 0))
vis = set()
vis.add((0, 0))
while q:
x, y = q.popleft()
z = c - x - y
if x == 0:
print(z)
return
if x > 0 and y < b:
t = min(x, b - y)
if (x - t, y + t) not in vis:
vis.add((x - t, y + t))
q.append((x - t, y + t))
if x > 0 and z < c:
t = min(x, c - z)
if (x - t, y) not in vis:
vis.add((x - t, y))
q.append((x - t, y))
if y > 0 and x < a:
t = min(y, a - x)
if (x + t, y - t) not in vis:
vis.add((x + t, y - t))
q.append((x + t, y - t))
if y > 0 and z < c:
t = min(y, c - z)
if (x, y - t) not in vis:
vis.add((x, y - t))
q.append((x, y - t))
if z > 0 and x < a:
t = min(z, a - x)
if (x + t, y) not in vis:
vis.add((x + t, y))
q.append((x + t, y))
if z > 0 and y < b:
t = min(z, b - y)
if (x, y + t) not in vis:
vis.add((x, y + t))
q.append((x, y + t))
a, b, c = map(int, input().split())
bfs(a, b, c)
```
阅读全文