Да, всё в порядке. Теперь это и Ваша матрица. Или, наоборот, ничья. Поэтому обозначим её просто
.
Так как в Вашей задаче ставится вопрос о распределении воды в вёдрах первой группы, естественно исключить величины, относящиеся ко второй группе, что Вы и сделали. Более того, естественно теперь «туда-назад» считать одним шагом и индекс после выполнения такого шага увеличивать на 1, а не на 2. По крайней мере, я буду придерживаться такого правила.
Что теперь делать с этой матрицей? Самое простое — находить количества воды в вёдрах первой группы после
-го шага, если известны количества после
-го шага. Например, пусть количество воды в ведрах
и
равно
, а остальные вёдра пустые. Тогда после «туда-назад» будет
Ответ: в
будет
, в
будет
, в
будет
, вёдра
и
пустые.
Если мы хотим узнать, что будет через два шага, появляется выбор: можно вектор состояния
дважды умножить слева на матрицу
:
А можно сначала возвести матрицу в квадрат (
), а потом вектор
умножить на этот квадрат слева:
Если интересно, что будет через тысячу шагов, конечно, можно найти тысячную степень
в лоб, либо тысячу раз умножить вектор на
слева. К счастью, существуют гораздо более простые способы. Благодаря этому можно написать не слишком сложную явную (не рекуррентную) формулу для вектора состояния после любого количества шагов.