美文网首页
【蓝桥杯】第五届-2-李白打酒

【蓝桥杯】第五届-2-李白打酒

作者: JacobKong_Dev | 来源:发表于2016-03-15 16:25 被阅读724次

题目

话说大诗人李白,一生好饮。幸好他从不开车。

一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:

无事街上走,提壶去打酒。
逢店加一倍,遇花喝一斗。

这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。

请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。

注意:通过浏览器提交答案。答案是个整数。不要书写任何多余的内容。

答案

14

分析

经过分析,可知利用递归法把所有的可能情况遍历一般,由于最后一次遇到的是花,所以最终肯定hua==0&&dian==0&&jiu==1,代码如下,这里并没有把所有具体排列情况列出。
注意:huan从14开始

代码

public class Two {
    public static int counter = 0;
    public static void main(String[] args){
        long startTime = System.currentTimeMillis();
        drinkJiu(14, 9, 5, 2);
        System.out.println(counter);
        long endTime = System.currentTimeMillis();
        System.out.println("time="+(endTime-startTime));
    }
    
    public static void drinkJiu(int step, int hua, int dian, int jiu){
        if(step<0 || dian<0||hua<0||jiu<1) return;
        if(hua==0 && dian==0 && jiu==1){
            counter++;
            return;
        }
        drinkJiu(step-1, hua-1, dian, jiu-1); // 遇到花
        drinkJiu(step-1, hua, dian-1, jiu*2); // 遇到店
    }
}

相关文章

  • 【蓝桥杯】第五届-2-李白打酒

    题目 话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事...

  • 打油诗

    今天给大家发一首打油诗。 李白打酒 李白街上走, 提壶去打酒。 遇店加一倍, 见花喝一斗。 三遇店和花, 喝光壶中...

  • 蓝桥杯第五届B组预选

    第一题:啤酒和饮料(4' ) 1)穷举2)利用工具计算 答案:11考虑精度的话 *10 就可以了,得到两个答案,因...

  • 蓝桥杯

    明天就是蓝桥杯省赛了,今天早点睡吧,没事就是一个小比赛,没什么的。大不了就去打打酱油吧。早早洗漱好,就上了床,可是...

  • 蓝桥杯

    一周前才开始意识到蓝桥杯又要来了,赶快找大佬聊聊怎么准备 “只要你掌握了最近十年的7道题以上省一几乎没问题 4-6...

  • 回溯李白打酒问题

    话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:无事街上走,提...

  • 蓝桥杯真题题解收藏

    收藏一些在网上发现的,觉得写的不错的蓝桥杯真题题解内容,给学生练习备战蓝桥杯时所用。2020蓝桥杯省赛第二场C组_...

  • 【蓝桥杯】第五届-4-写日志

    题目 写日志是程序的常见任务。现在要求在 t1.log, t2.log, t3.log 三个文件间轮流写入日志。也...

  • 【蓝桥杯】第五届-3-神奇算式

    题目 由4个不同的数字,组成的一个乘法算式,它们的乘积仍然由这4个数字组成。比如: 都符合要求。如果满足乘法交换律...

  • 【蓝桥杯】第五届-1-猜年龄

    题目 小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。小明又补充...

网友评论

      本文标题:【蓝桥杯】第五届-2-李白打酒

      本文链接:https://www.haomeiwen.com/subject/olmxlttx.html