李白打酒

来源:互联网 发布:南京东华软件怎么样 编辑:程序博客网 时间:2024/06/10 20:08

    话说大诗人李白,一生好饮。幸好他从不开车。  
    一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:  
    无事街上走,提壶去打酒。     逢店加一倍,遇花喝一斗。  
    这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。   

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

#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++;or(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