# Leetcode 365 - Water and Jug Problem

`Note:`

- Use
`[water1, water2]`

to represent how much water left in each jug. - Each time, based on the three ops, modify next states.
- Be careful when pouring water from one to another.
- For example, use
`a`

to fill`b`

. The rest water in`a`

is the max between`0`

and`water1 - jug2 + water2`

. Same for`b`

, if`a`

is too big,`b`

wonâ€™t have all the water. So`b`

is the min of`jug2`

and`water2 + water1`

.

- For example, use
- Use
`iterative`

instead of`recursive`

to save spaces.

`Question:`

You are given two jugs with capacities `jug1Capacity`

and `jug2Capacity`

liters. There is an infinite amount of water supply available. Determine whether it is possible to measure exactly `targetCapacity`

liters using these two jugs.

If `targetCapacity`

liters of water are measurable, you must have targetCapacity liters of water contained within one or both buckets by the end.

Operations allowed:

- Fill any of the jugs with water.
- Empty any of the jugs.
- Pour water from one jug into another till the other jug is completely full, or the first jug itself is empty.

`Example:`

1 | Input: jug1Capacity = 3, jug2Capacity = 5, targetCapacity = 4 |

`Code:`

1 | /** |