Предположительно, каждый узел содержит два положительных целых числа - количество галлонов в кувшине по 3 галлона, количество галлонов в кувшине по 5 галлонов. Дуги, иначе называемые ребрами (направленными), являются «ходами» (и помечены действием, которое представляет дуга) - очевидно, у вас также есть под рукой безымянное нажатие, поскольку вы всегда можете заполнить любой из кувшинов; вы также всегда можете опорожнить кувшин (так что у вас есть раковина) и так далее (все другие движения включают в себя перемещение воды из одного галлона в другой, пока либо первый не опустеет, либо второй не наполнится). Без сомнения, лучше избегать создания легальных, но бесполезных дуг («ходов»), таких как «заполнение» уже заполненного кувшина или отмена только что сделанного вами шага (например, опустошение кувшина, который вы только что наполнили из-под крана) добавление таких дуг будет означать лишь немного больше работы, а не неправильное решение.
Итак, начните с (0, 0) - оба кувшина заполнены, как у вас в начале. Очевидно, что две дуги отсюда приведут вас к (3, 0) и (0, 5) соответственно (заполняя одну или другую из крана) и так далее. Надеюсь, это поможет!