蓝桥杯寒假训练一1009店与花
2018-02-10 20:59
197 查看
题目大意
话说大诗人李白,一生好饮。幸好他从不开车。
一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:
无事街上走,提壶去打酒。
逢店加一倍,遇花喝一斗。
这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。
请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。
注意:答案是个整数。不要书写任何多余的内容。
题目思路:一开始自己想的是DFS自己也不会写
只能去借鉴别的大神了
后来我发现自己想的难了
这应该算是 遍历树的所有结构 没有进行剪枝啥的(纯属自己的理解)
下面给代码#include<iostream>//1009
using namespace std;
int sum=0;//为了计数
int fun(int m,int n,int c)//m是花店的个数 n遇到花的个数 c为初始酒量
{
if(m>0)
fun(m-1,n,c*2);
if(n>0)
fun(m,n-1,c-1);
if(m==0&&n==1&&c==1)
sum++;//只有满足最后一家是 花时 并且酒量 最后为 1
return sum;
}
int main()
{
int cnt=fun(5,10,2);
cout<<cnt;
return 0;
}
话说大诗人李白,一生好饮。幸好他从不开车。
一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:
无事街上走,提壶去打酒。
逢店加一倍,遇花喝一斗。
这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。
请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。
注意:答案是个整数。不要书写任何多余的内容。
题目思路:一开始自己想的是DFS自己也不会写
只能去借鉴别的大神了
后来我发现自己想的难了
这应该算是 遍历树的所有结构 没有进行剪枝啥的(纯属自己的理解)
下面给代码#include<iostream>//1009
using namespace std;
int sum=0;//为了计数
int fun(int m,int n,int c)//m是花店的个数 n遇到花的个数 c为初始酒量
{
if(m>0)
fun(m-1,n,c*2);
if(n>0)
fun(m,n-1,c-1);
if(m==0&&n==1&&c==1)
sum++;//只有满足最后一家是 花时 并且酒量 最后为 1
return sum;
}
int main()
{
int cnt=fun(5,10,2);
cout<<cnt;
return 0;
}
相关文章推荐
- oj网站的训练题(蓝桥杯):寒假作业
- 蓝桥杯寒假训练一1021算术题(DFS剪枝)
- 蓝桥杯寒假训练二1002下一个世界末日(可能就是对闰年的判断方法的掌握)
- 蓝桥杯寒假训练一1007振兴中华DFS
- 蓝桥杯寒假训练二1006相乘后数字不变
- 蓝桥寒假训练4->2014年第五届蓝桥杯国赛_高职组
- 蓝桥杯寒假训练二1004 For循环的注意点以及关于double 类型的数是否相同
- 蓝桥杯寒假训练二1005 DFS以及三重循环的问题出在memset不能对1进行赋值
- 蓝桥杯寒假训练一1015特殊的数字(找到自己一个惊天大BUG)
- 寒假蓝桥杯训练一1013字典序最小的扑克序列
- 寒假蓝桥杯训练二1025剪方格 (连通块的模板题)
- 寒假蓝桥杯训练二1024公差最小的等差素数列
- 蓝桥杯算法训练_2的次幂
- 蓝桥杯 算法训练 输出米字形
- 蓝桥杯训练 表达式计算
- sduacm16级寒假训练 动态规划(一)
- 蓝桥杯_算法训练_安慰奶牛(用Kruskal、Prim算法分别实现)
- 蓝桥杯 算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 最大最小公倍数
- 蓝桥杯_算法训练_字串统计(用HashMap实现)