我一看这道题就是类似于13年39级台阶那道题,运用的同样是深度优先搜索。不过要注意的是这两道题目都是有限制条件的,39级台阶限制条件是最终的步数是要偶数,而李白打酒是最后遇到的一定是花(即只剩一口酒)。这种类型的题目可以先把限制条件去掉,想出思路后再把条件加上。
这道题因为最后遇到的是花,并且喝完了酒,所以你可以把花的数目减掉1,而酒最后也剩下一抖。
代码如下:
这里我有个思路的误区,我认为最后如果不遇到花的话,酒是不可能喝完的,于是我让酒(即n)为0了,但是遇到酒店酒的数量也可以为0的,即0*2=0;