2014蓝桥杯本科B组C/C++第三题【李白打酒】
来源:互联网 发布:ectouch2.0源码分享 编辑:程序博客网 时间:2024/05/28 05:17
标题:李白打酒
话说大诗人李白,一生好饮。幸好他从不开车。
一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:
无事街上走,提壶去打酒。
逢店加一倍,遇花喝一斗。
这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。
请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。
注意:通过浏览器提交答案。答案是个整数。不要书写任何多余的内容。
可以直接搜索求解:
#include <cstdio>#include<iostream>using namespace std;int total=0;void dfs(int n,int m,int jiu){ if(n>5||m>10) { return; } if((n<5&&jiu<=0)||(m<10&&jiu<=0)) { return; } if(n==5&&m==10&&jiu==0) { total++; } dfs(n+1,m,jiu*2); dfs(n,m+1,jiu-1);}int main(){ int a,b,sum; dfs(0,0,2); cout<<total<<endl; return 0;}
或者递归求解。
#include <cstdio>using namespace std;int sum = 0;char str[100];int Fun(int now, int i, int a, int b){if(now < 0 || i > 16 || (now == 0 && i < 16))return 0;if(now == 0){if(i == 16 && a == 5 && b == 10){sum++;for(int j = 0; j < 15; j++)putchar(str[j]);putchar(10);}}str[i - 1] = 'a';Fun(now * 2, i + 1, a + 1, b);str[i - 1] = 'b';Fun(now - 1, i + 1, a, b + 1);}int main(){str[15] = '\0';Fun(2, 1, 0, 0);printf("sum = %d\n", sum);return 0;}
0 0
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第三题:李白打酒 (8' )
- 2014蓝桥杯本科B组C/C++第三题【李白打酒】
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第三题:李白打酒 (8' )
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第三题:李白打酒【暴力】or【DFS】
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第三题:李白打酒 (8' )
- 蓝桥杯 C本科B组 李白打酒
- 题解。2014、C/C++本科B组【李白打酒】
- 2014年第五届蓝桥杯C/C++程序设计本科B组省赛 李白打酒(结果填空)
- 2014年第五届蓝桥杯C/C++程序设计本科B组省赛 李白打酒(结果填空)
- 蓝桥杯_C语言_本科B——李白打酒
- 2014蓝桥杯B组初赛试题《李白打酒》
- C语言递归李白打酒
- 第四届蓝桥杯C++B组——李白打酒(dfs)
- 山东省第五届蓝桥杯 ///标题:李白打酒//c/c++组
- (蓝桥杯第五届B组)李白打酒 DFS
- 【蓝桥杯题目分析】2014年第五届——第三题:李白打酒
- 2014蓝桥杯之李白打酒
- 2014第五届蓝桥杯预赛试题本科c++李白打酒
- mfc TAB control控件的使用
- 38 个界面设计技巧
- 面试题集锦
- java 中字符串转化为日期
- 数据解析(二)解析XML之GDataXMLNode
- 2014蓝桥杯本科B组C/C++第三题【李白打酒】
- Go语言 Go1.1新调度器详解
- HBuilder:最快的Web开发IDE
- C++代码重构——从C global到C++ template
- 正在php施止getgson跨域名会睹
- Android开发中定时器的3种方法
- 直方图匹配之(二):巴氏系数
- 用自己的Qt4程序成功取代友善自带的程序(取代的程序是start Qt4.7.0)
- linux 正则表达式