蓝桥杯第五届B组 李白打酒

外面的小雨下着,风吹着,在实验室敲着代码

时隔一年之后再次做这道题,依然神一样的回溯出来;

标题:李白打酒

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

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

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

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

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

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

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cstdio>
 4 #include<queue>
 5 #include<cmath>
 6 #include<cstring>
 7 using namespace std;
 8 int ans  = 0;
 9 void dfs(int time1,int time2,int sum)
10 {
11     if(sum<0 || time1>5 || time2>10)
12         return ;
13     if(time1==5 && time2==10 && sum == 1)
14     {
15         ans ++;
16     }
17     dfs(time1+1,time2,sum*2);
18     dfs(time1,time2+1,sum-1);
19 }
20 int main()
21 {
22     int T,m,n;
23     dfs(0,1,2);
24    printf("ans = %d",ans);
25     return 0;
26 }
时间: 2024-10-06 20:47:25

蓝桥杯第五届B组 李白打酒的相关文章

2014年第五届蓝桥杯试题C/C++程序设计B组——李白打酒

题目描述: 标题:李白打酒 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他边走边唱: 无事街上走,提壶去打酒. 逢店加一倍,遇花喝一斗. 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了. 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b.则:babaabbabbabbbb 就是合理的次序.像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的). 注意:通过浏览器提交答案.答案是个整数.不

蓝桥杯 2014本科C++ B组 李白打酒 三种实现方法 枚举/递归

标题:李白打酒 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他边走边唱: 无事街上走,提壶去打酒. 逢店加一倍,遇花喝一斗. 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了. 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b.则:babaabbabbabbbb 就是合理的次序.像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的). 注意:通过浏览器提交答案.答案是个整数.不要书写任何多

第六届蓝桥杯本科B组C++省赛题解

比赛结束已经一星期了,成绩也出来了,江苏非211组的省前十,但是深感自己还是有太多的不足.绝对不能以自己还只是大一为借口,acm这条路还长的很. 目测得了95分(满分150),第一题错了,代码填空第一题错了,倒数第二题扣了一点分,最后一道大题全错. 之所以会这么晚来发这道题解,是因为深感自己不足,倒数第二题之所以没有做出来,是因为自己居然不会用[矩阵快速幂].因此,现学现用以自省. 关于题目:所有填空题都可以纯暴力,只要会回溯剪枝法对于蓝桥杯已经足够了.大题目难度一年比一年高 第一题 结果填空

蓝桥杯第五届决赛B组

1.标题:年龄巧合 小明和他的表弟一起去看电影,有人问他们的年龄.小明说:今年是我们的幸运年啊.我出生年份的四位数字加起来刚好是我的年龄.表弟的也是如此.已知今年是2014年,并且,小明说的年龄指的是周岁. 请推断并填写出小明的出生年份. 这是一个4位整数,请通过浏览器提交答案,不要填写任何多余的内容(比如,他表弟的出生年份,或是他们的年龄等等) #include <iostream> #include <algorithm> #include <stdio.h> us

第七届蓝桥杯本科B组省赛

煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), -. 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字. 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字. 思路: 推出第i层有i*(i+1)/2个煤球,累加到100层即可,答案为171700 #include <bits/stdc++.h> using namespace std; int main() {

第四届(13年)蓝桥杯java B组决赛真题

1.标题:猜灯谜(填空) A 村的元宵节灯会上有一迷题: 请猜谜 * 请猜谜 = 请边赏灯边猜        小明想,一定是每个汉字代表一个数字,不同的汉字代表不同的数字.        请你用计算机按小明的思路算一下,然后提交"请猜谜"三个字所代表的整数即可. 请严格按照格式,通过浏览器提交答案.    注意:只提交一个3位的整数,不要写其它附加内容,比如:说明性的文字. 1 import java.util.Scanner; 2 //猜灯谜 3 public class Main{

2016蓝桥杯C++A组第八题 四平方和

直接暴力的话  四层循环 很可能超时  这里用到了小技巧 #include<stdio.h> #include<iostream> #include<cmath> using namespace std; int a[5000001]; int main(){ int n; cin>>n; int flag=0; for(int i=0;i<=(int)sqrt(n);i++){ for(int j=i;j<=(int)sqrt(n);j++){

2016蓝桥杯C++A组第七题 剪邮票

从1-12中从小到大选取5个数(DFS) BFS判断找出来的5个数是否连通:以任意一个(我的程序取得是最小的)为起点,BFS搜索   是否可以搜索到5个 如果可以 说明是连通的 #include<iostream> #include<stdio.h> #include<cmath> #include<queue> using namespace std; int a[13] = { 0 };//dfs int l[5];//存储已经 找到的5个数 int s

第七届(16年)蓝桥杯java B组决赛真题

1.愤怒小鸟(填空)X星球愤怒的小鸟喜欢撞火车! 一根平直的铁轨上两火车间相距 1000 米两火车 (不妨称A和B) 以时速 10米/秒 相对行驶. 愤怒的小鸟从A车出发,时速50米/秒,撞向B车,然后返回去撞A车,再返回去撞B车,如此往复....两火车在相距1米处停车. 问:这期间愤怒的小鸟撞 B 车多少次? 注意:需要提交的是一个整数(表示撞B车的次数),不要填写任何其它内容. 1 public class One { 2 //A.B的位置a.b的大小相对于A的起点而言,小鸟的速度为50,A