2、vector是C++ stl当中的容器。
vector容器类型
vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象)。vector对象可以在运行时高效地添加元素,并且vector中元素是连续存储的。
vector的构造
函数原型:
template<typename T>
explicit vector()// 默认构造函数,vector对象为空
explicit vector(size_type n, const T&v = T()) // 创建有n个元素的vector对象
vector(const vector&x)
vector(const_iterator first, const_iterator last)
三个容器互相倒水,每次动作最多有六种可能的倒法a->b、a->c、b->a、b->c、c->a、c->b
初始状态a=12,b=0,c=0,最终的目的是a=6,b=6,c=0(c最多是5,所以不可能是6,题目的最后一句0 6 6是误导)。
如果a>0,且 b <8,可执行 a->b,执行a->b的结果是
if (a <= 8-b){ b=b+aa=0} else { a=a-(8-b)b=8}
如果a>0,且c <5,可执行 a->c,执行a->c的结果是
if (a<=5-c){ c=c+aa=0}else{a=a-(5-c)c=5}
......
这样使用递归,并设置好递归最深的层级后,就可以找出所有的答案了。