李白打酒——C++
话说大诗人李白,一生好饮。幸好他从不开车。
    一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:
    无事街上走,提壶去打酒。
    逢店加一倍,遇花喝一斗。
    这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 
    请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。
 #include<iostream>
#include<string>
#include<set>
using namespace std;
set<string> result;
string road="               ";
string key = "ab";
int a = 0, b = 0;
int judge(string a) {
    int w = 2;
    for (int i = 0; i < a.length(); i++) {
        if (a[i] == 'a')
            w *= 2;
        else
            w--;
        if (w < 0)
            return 0;
    }
    if (w == 0)
        return 1;
    return 0;
}
void search(char ch,int a,int b, int k) {
    if (a < 5) {
            road [k]= 'a';
            search(key[0], a + 1, b, k + 1);
    }
    if (b < 10) {
            road[k]= 'b';
            search(key[1], a, b + 1, k + 1);
    }
    if (judge(road))
        result.insert(road);
}
int main() {
    search('a',0,0,0);
    for (auto it = result.begin(); it != result.end(); it++)
        cout << *it << endl;
    return 0;
}李白打酒——C++的更多相关文章
- 2014年第五届蓝桥杯试题C/C++程序设计B组——李白打酒
		题目描述: 标题:李白打酒 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他边走边唱: 无事街上走,提壶去打酒. 逢店加一倍,遇花喝一斗. 这一路上,他一共 ... 
- 李白打酒|2014年蓝桥杯B组题解析第三题-fishers
		李白打酒 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他边走边唱: 无事街上走,提壶去打酒. 逢店加一倍,遇花喝一斗. 这一路上,他一共遇到店5次,遇到花 ... 
- 蓝桥杯第五届B组 李白打酒
		外面的小雨下着,风吹着,在实验室敲着代码 时隔一年之后再次做这道题,依然神一样的回溯出来: 标题:李白打酒 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他 ... 
- Problem A: 李白打酒
		Problem A: 李白打酒 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 825 Solved: 373[Submit][Status][Web ... 
- 蓝桥杯 2014本科C++ B组 李白打酒 三种实现方法 枚举/递归
		标题:李白打酒 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他边走边唱: 无事街上走,提壶去打酒. 逢店加一倍,遇花喝一斗. 这一路上,他一共遇到店5次, ... 
- YTU 2507: 李白打酒
		2507: 李白打酒 时间限制: 1 Sec 内存限制: 128 MB 提交: 414 解决: 186 题目描述 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中 ... 
- java实现第五届蓝桥杯李白打酒
		李白打酒 题目描述 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他边走边唱: 无事街上走,提壶去打酒. 逢店加一倍,遇花喝一斗. 这一路上,他一共遇到店5 ... 
- 蓝桥杯-李白打酒-java
		/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ... 
- 2014蓝桥杯B组初赛试题《李白打酒》
		题目描述: 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他边走边唱: 无事街上走,提壶去打酒. 逢店加一倍,遇花喝一斗. 这一路上 ... 
随机推荐
- laravel 路由分組
			laravel 路由分組 Route::group(['prefix' => 'admin'], function () { $namespacePrefix="\\App\\Http ... 
- [转]python中pandas库中DataFrame对行和列的操作使用方法
			转自:http://blog.csdn.net/u011089523/article/details/60341016 用pandas中的DataFrame时选取行或列: import numpy a ... 
- 爬虫-day01-基础知识
			'''爬虫的构成下载器: 抓取页面 urllib equests selenium + webdriver解析器: 解释并提取页面元素 BeautifulSoup4 PyQuery Xpath Reg ... 
- MAC地址表、ARP缓存表以及路由表
			一:MAC地址表详解 说到MAC地址表,就不得不说一下交换机的工作原理了,因为交换机是根据MAC地址表转发数据帧的.在交换机中有一张记录着局域网主机MAC地址与交换机接口的对应关系的表,交换机就是根据 ... 
- Sklearn (一) 监督学习
			本系列博文是根据SKlearn的一个学习小结,并非原创! 1.直接学习TensorFlow有点不知所措,感觉需要一些基础知识做铺垫. 2.之前机器学习都是理论<Ng机器学习基础>+底层 ... 
- !!!常用CSS代码块
			图片排满一行.左右两端无间隙. <style type="text/css"> .img_abc{float:left;width:30%;margin-left:5% ... 
- c#中使用excel
			在做一个小项目,需要把一些查询结果导出到Excel,找了一些资料,自己也总结出了一点方法,与大家共享. 一.首先简要描述一下如何操作Excel表 先要添加对Excel的引用.选择项目-〉添加引用-〉C ... 
- __module__ 和 __class__
			__module__ 查看当前方法来之于那个文件 __class__ 查看当前方法来之于那个类 
- 使用 C++ REST SDK 进行网络编程
			安装 C++ REST SDK $ brew install cpprestsdk $ brew install boost $ brew install libressl 创建工程 打开 Xcode ... 
- 使用PandoraBox时的软件源配置
			src/gz 18.12_core http://downloads.pangubox.com:6380/pandorabox/18.12/targets/ralink/mt7621/packages ... 
