2025-01-09 20:29:41 +08:00
< p > You are given two jugs with capacities < code > x< / code > liters and < code > y< / code > liters. You have an infinite water supply. Return whether the total amount of water in both jugs may reach < code > target< / code > using the following operations:< / p >
2022-03-27 20:56:26 +08:00
< ul >
2025-01-09 20:29:41 +08:00
< li > Fill either jug completely with water.< / li >
< li > Completely empty either jug.< / li >
< li > Pour water from one jug into another until the receiving jug is full, or the transferring jug is empty.< / li >
2022-03-27 20:56:26 +08:00
< / ul >
< p > < / p >
2025-01-09 20:29:41 +08:00
< p > < strong class = "example" > Example 1: < / strong > < / p >
< div class = "example-block" style = "border-color: var(--border-tertiary); border-left-width: 2px; color: var(--text-secondary); font-size: .875rem; margin-bottom: 1rem; margin-top: 1rem; overflow: visible; padding-left: 1rem;" >
< p > < strong > Input: < / strong > < span class = "example-io" style = "font-family: Menlo,sans-serif; font-size: 0.85rem;" > x = 3, y = 5, target = 4 < / span > < / p >
< p > < strong > Output: < / strong > < span class = "example-io" style = "font-family: Menlo,sans-serif; font-size: 0.85rem;" > true < / span > < / p >
< p > < strong > Explanation:< / strong > < / p >
< p > Follow these steps to reach a total of 4 liters:< / p >
< ol >
< li > Fill the 5-liter jug (0, 5).< / li >
< li > Pour from the 5-liter jug into the 3-liter jug, leaving 2 liters (3, 2).< / li >
< li > Empty the 3-liter jug (0, 2).< / li >
< li > Transfer the 2 liters from the 5-liter jug to the 3-liter jug (2, 0).< / li >
< li > Fill the 5-liter jug again (2, 5).< / li >
< li > Pour from the 5-liter jug into the 3-liter jug until the 3-liter jug is full. This leaves 4 liters in the 5-liter jug (3, 4).< / li >
< li > Empty the 3-liter jug. Now, you have exactly 4 liters in the 5-liter jug (0, 4).< / li >
< / ol >
< p > Reference: The < a href = "https://www.youtube.com/watch?v=BVtQNK_ZUJg&ab_channel=notnek01" target = "_blank" > Die Hard< / a > example.< / p >
< / div >
< p > < strong class = "example" > Example 2: < / strong > < / p >
< div class = "example-block" style = "border-color: var(--border-tertiary); border-left-width: 2px; color: var(--text-secondary); font-size: .875rem; margin-bottom: 1rem; margin-top: 1rem; overflow: visible; padding-left: 1rem;" >
< p > < strong > Input: < / strong > < span class = "example-io" style = "font-family: Menlo,sans-serif; font-size: 0.85rem;" > x = 2, y = 6, target = 5 < / span > < / p >
2022-03-27 20:56:26 +08:00
2025-01-09 20:29:41 +08:00
< p > < strong > Output: < / strong > < span class = "example-io" style = "font-family: Menlo,sans-serif; font-size: 0.85rem;" > false < / span > < / p >
< / div >
2022-03-27 20:56:26 +08:00
2025-01-09 20:29:41 +08:00
< p > < strong class = "example" > Example 3: < / strong > < / p >
2022-03-27 20:56:26 +08:00
2025-01-09 20:29:41 +08:00
< div class = "example-block" style = "border-color: var(--border-tertiary); border-left-width: 2px; color: var(--text-secondary); font-size: .875rem; margin-bottom: 1rem; margin-top: 1rem; overflow: visible; padding-left: 1rem;" >
< p > < strong > Input: < / strong > < span class = "example-io" style = "font-family: Menlo,sans-serif; font-size: 0.85rem;" > x = 1, y = 2, target = 3 < / span > < / p >
2022-03-27 20:56:26 +08:00
2025-01-09 20:29:41 +08:00
< p > < strong > Output: < / strong > < span class = "example-io" style = "font-family: Menlo,sans-serif; font-size: 0.85rem;" > true < / span > < / p >
2022-03-27 20:56:26 +08:00
2025-01-09 20:29:41 +08:00
< p > < strong > Explanation:< / strong > Fill both jugs. The total amount of water in both jugs is equal to 3 now.< / p >
< / div >
2022-03-27 20:56:26 +08:00
< p > < / p >
< p > < strong > Constraints:< / strong > < / p >
< ul >
2025-01-09 20:29:41 +08:00
< li > < code > 1 < = x, y, target < = 10< sup > 3< / sup > < / code > < / li >
2022-03-27 20:56:26 +08:00
< / ul >