1.问题描述
原问题:两个小孩去打油,一个人带了一个一斤的空瓶,另一个带了一个七两一个三两的空瓶。原计划各打一斤油,可是由于所带的钱不够,只好两人合打了一斤油,可是又没有其它工具,试仅用三个瓶子(一斤、七两、三两)精确地分成两个半斤油来。
2.算法设计
A.将分油问题构造的多叉树存入队列oilQueue中,尽量将在数组arr中出现过的结点不要入队。
B.将队列头结点出队,若结点未在数组arr出现过,则存入数组arr中;若结点已在数组arr中出现过,则直接出队。
C.构造多叉树直到找到分油问题的结果结点。
D.按照结点的n属性,寻找其父节点,即找出分油过程。
油瓶中的油的变化规则:
3.数据结构
Oil类具有(x,y,z)属性,存放(一斤、七两、三两)瓶里的油。
Node类,具有Oil和n属性,存放三个瓶子里的油状态,以及瓶子存