2010-09-21北大创新工场笔试大题

来源:互联网 发布:注册淘宝店铺流程 编辑:程序博客网 时间:2024/06/05 22:51

题目:

有两个量杯A和B,分别可以量M和N升水,还有装满水的池子,以及一个大的空杯子C,现在要经过一系列的步骤在空杯子里面量出K升水。编写程序,输入为M,N,K,输出为步骤,或者“No Solution”。例如M, N, K分别为5, 7, 4,则输出的步骤为:

0, 0, 0         (都没有水)

 

0, 7, 0         (B倒满水)

5, 2, 0         (B倒入A)

5, 0, 2         (B到入C)

0, 0, 2         (B倒入水池)

0, 7, 2         (B倒满水)

 

5, 2, 2         (B倒入A)

 

5, 0, 4         (B到入C,达到要求)

 

采用回溯法