三杯倒水问题

前几天刷B站,看到一个很有意思的视频,链接如下
转到哔哩哔哩
大意就是用三个只知道容量的杯子量出指定体积的水
这里就是5ml(满),6ml(满),10ml(空)量出8ml
瞎倒了半天,也没倒出来,这让我第一次知道原来互动视频也能死循环🤣
看到评论区有人用逆推法得到了答案,我就想能否编程求解所有方法
想了想,正好可以用回溯解决
思路是这样的

分别用vector<vector<vector<int>>> answervector<vector<vector<int>>> operation储存所有状态和操作
每一次最多有六种不同的倒水方式(如果有空杯或满杯,则少于六种)
尝试这六种倒水方式,把方式记录到oneoperation中,现在水的状态记录到now中,然后存入oneanswer
如果成功地将第三杯中倒入了8ml的水,就保存到最终结果的answer和operation中
终止搜索的条件是现在的状态和之前某次一样(说明出现了循环)
完整代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;
vector<vector<vector<int>>> answer;//最里层的vector<int>存放状态
vector<vector<int>> oneanswer;
vector<vector<vector<int>>> operation;//存放操作
vector<vector<int>> oneoperation;
vector<int> capacity = { 5,6,10 };
void findall(vector<int> now)
{
if (now[2] == 8)
{
answer.push_back(oneanswer);
operation.push_back(oneoperation);
}
else
{
for (int i = 0; i <= 2; ++i)//从i倒向j
for (int j = 0; j <= 2; ++j)
{
if (i != j)
{
int temp1 = now[i], temp2 = now[j], cap = capacity[j];
if (now[i] && now[j] != cap)
{
now[j] = temp1 + temp2 <= cap ? temp1 + temp2 : cap;
now[i] = temp1 + temp2 - now[j];
if (find(oneanswer.begin(), oneanswer.end(), now) == oneanswer.end())//如果当前状态还未出现过
{
oneanswer.push_back(now);
oneoperation.push_back({ i,j });
findall(now);
oneanswer.pop_back();//回溯
oneoperation.pop_back();
}
now[i] = temp1;//回溯
now[j] = temp2;
}
}
}
}
}
int main()
{
vector<int> initial = { 5,6,0 };
findall(initial);
for (int i = 0; i < answer.size(); ++i)
{
cout << "solution"<<i+1<<":" << endl;
for (int j = 0; j < answer[i].size(); ++j)
{
cout << "pour " << (operation[i][j][0] == 0 ? "left" : operation[i][j][0] == 1 ? "middle" : "right");
cout << " to " << (operation[i][j][1] == 0 ? "left" : operation[i][j][1] == 1 ? "middle" : "right");
cout << ", now is " << answer[i][j][0] << " " << answer[i][j][1] << " " << answer[i][j][2] << endl;
}
}
return 0;
}

由于数据规模较小,用了26ms就完成了搜索,得到了62种解法

太长了,所以把它折叠起来了(单击打开)

solution1:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to left, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution2:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to left, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution3:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution4:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution5:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour right to middle, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution6:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour right to left, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution7:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution8:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour right to middle, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution9:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour right to left, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution10:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution11:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution12:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution13:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to right, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution14:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour middle to right, now is 5 0 6
pour left to right, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution15:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour right to middle, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution16:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour right to middle, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution17:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour right to middle, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution18:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour right to middle, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to right, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution19:
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour right to middle, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to right, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution20:
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to left, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution21:
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to left, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution22:
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution23:
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution24:
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour right to middle, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution25:
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour right to left, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution26:
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution27:
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour right to middle, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution28:
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour right to left, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution29:
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour right to left, now is 5 1 5
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution30:
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour right to left, now is 5 1 5
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to right, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution31:
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour right to left, now is 5 1 5
pour middle to right, now is 5 0 6
pour left to right, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution32:
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour right to left, now is 5 1 5
pour right to middle, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution33:
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour right to left, now is 5 1 5
pour right to middle, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to right, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution34:
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour right to left, now is 5 1 5
pour right to middle, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to right, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution35:
pour left to right, now is 0 6 5
pour right to left, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution36:
pour left to right, now is 0 6 5
pour right to left, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution37:
pour left to right, now is 0 6 5
pour right to left, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution38:
pour left to right, now is 0 6 5
pour right to left, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to right, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution39:
pour left to right, now is 0 6 5
pour right to left, now is 5 6 0
pour middle to right, now is 5 0 6
pour left to right, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution40:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution41:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution42:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution43:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution44:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution45:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution46:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8
solution47:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour right to left, now is 5 6 0
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution48:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour right to left, now is 5 6 0
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution49:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour right to middle, now is 5 6 0
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution50:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour right to middle, now is 5 6 0
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution51:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to middle, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution52:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to middle, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution53:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to right, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution54:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour right to left, now is 5 6 0
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution55:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour right to left, now is 5 6 0
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution56:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour right to middle, now is 5 6 0
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution57:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour right to middle, now is 5 6 0
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution58:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to middle, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution59:
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to middle, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution60:
pour middle to right, now is 5 0 6
pour left to right, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution61:
pour middle to right, now is 5 0 6
pour right to middle, now is 5 6 0
pour left to right, now is 0 6 5
pour middle to left, now is 5 1 5
pour left to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8
solution62:
pour middle to right, now is 5 0 6
pour right to middle, now is 5 6 0
pour left to right, now is 0 6 5
pour middle to right, now is 0 1 10
pour middle to left, now is 1 0 10
pour right to middle, now is 1 6 4
pour middle to left, now is 5 2 4
pour left to right, now is 0 2 9
pour middle to left, now is 2 0 9
pour right to middle, now is 2 6 3
pour middle to left, now is 5 3 3
pour left to right, now is 0 3 8

</details>
如果稍作修改,还可以找到最简便的方法,即上面的solution46
仅用九步
1
2
3
4
5
6
7
8
9
10
solution46:  
pour middle to right, now is 5 0 6
pour left to middle, now is 0 5 6
pour right to left, now is 5 5 1
pour left to middle, now is 4 6 1
pour middle to right, now is 4 0 7
pour left to middle, now is 0 4 7
pour right to left, now is 5 4 2
pour left to middle, now is 3 6 2
pour middle to right, now is 3 0 8