小孩分油问题python 解决.docVIP

  • 7
  • 0
  • 约7.88千字
  • 约 7页
  • 2019-10-19 发布于广东
  • 举报
1.问题描述 原问题:两个小孩去打油,一个人带了一个一斤的空瓶,另一个带了一个七两一个三两的空瓶。原计划各打一斤油,可是由于所带的钱不够,只好两人合打了一斤油,可是又没有其它工具,试仅用三个瓶子(一斤、七两、三两)精确地分成两个半斤油来。 2.算法设计 把三个油瓶中的油量作为一个状态,经过一个合法动作后得到下一个状态(合法动作是把A瓶中的油全部倒入B瓶 或者 把A瓶中的油部分倒入B瓶使B瓶充满油),递归搜索所有的可能状态,如果到达最终状态则递归停止。 油瓶中油的变化规则:(S表示3两油瓶,T表示7两油瓶) 序号 规则 解释 1 (S,T) and S7 - (7,T) 7两瓶不满时装满 2 (S,T) and T3 - (S,3) 3两瓶不满时装满 3 (S,T) and S0 - (0,T) 7两瓶不空时倒空 4 (S,T) and T0 - (S,0) 3两瓶不空时倒空 5 (S,T) and S0 and S+T=3 - (0,S+T) 7两瓶中的油全倒入3两瓶 6 (S,T) and T0 and S+T=7 - (S+T,0) 3两瓶中的油全倒入7两瓶 7 (S,T) and S0 and S+T=3 - (S+T-3,3) 7两瓶中的油倒满3两瓶 8 (S,T) and T0 and S+T=7 - (7,S+T-7) 3两瓶中的油倒满7两瓶 3.代码(穷搜索) 广度

文档评论(0)

1亿VIP精品文档

相关文档