2014蓝桥杯本科B组C/C++第三题【李白打酒】
2014-04-18 19:19
323 查看
标题:李白打酒
话说大诗人李白,一生好饮。幸好他从不开车。
一天,他提着酒壶,从家里出来,酒壶中有酒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;
}
或者递归求解。
话说大诗人李白,一生好饮。幸好他从不开车。
一天,他提着酒壶,从家里出来,酒壶中有酒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; }
相关文章推荐
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第三题:李白打酒 (8' )
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第三题:李白打酒【暴力】or【DFS】
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第三题:李白打酒 (8' )
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第三题:李白打酒 (8' )
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第三题:李白打酒 (8' )
- 2014第五届蓝桥杯预赛试题本科c++李白打酒
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第五题:打印图形 (12' )
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第五题:打印图形 (12' )
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第六题:奇怪的分式(11')
- 蓝桥杯-2014本科B-李白打酒
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第7题:六角填数(12')
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第六题:奇怪的分式(11')
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第八题:蚂蚁感冒(10')(4.9更新)
- 2014第五届蓝桥杯JAVA本科B组试题第三题猜字母
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第七题:六角填数【暴力】or【DFS】
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第九题:地宫取宝(12')
- 2014蓝桥杯C/C++语言本科B组预赛试题 编程
- 2014蓝桥杯本科B组C/C++第一题【啤酒和饮料】
- 2014 第五届蓝桥杯预赛c/c++本科B组 解题报告
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第十题:小朋友排队(19')(4.9修订)