zoukankan      html  css  js  c++  java
  • 蓝桥杯-2014本科B-李白打酒

    李白打酒

       这道题跟去年还是前年的一个“奇怪的比赛”几乎一摸一样,详情:http://www.cnblogs.com/youdiankun/p/3594967.html

       话说大诗人李白,一生好饮。幸好他从不开车。

        一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:

        无事街上走,提壶去打酒。
        逢店加一倍,遇花喝一斗。

        这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。

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

        注意:通过浏览器提交答案。答案是个整数。不要书写任何多余的内容。

     1 #include<cstdio>
     2 #include<string.h>
     3 
     4 char a[20];
     5 int count;
     6 
     7 int wine(char *a)
     8 {
     9     int i,s=2;
    10     for(i=0;i<14;i++)
    11     {
    12         if(a[i]==1)
    13             s*=2;
    14         else
    15             s-=1;
    16     }
    17     if(s==1)//当s=1时,是前14次。最后一次遇花,s-1=0,正好把酒喝光了
    18         return 1;
    19     else
    20         return 0;
    21 }
    22 
    23 void show(char *a)
    24 {
    25     int i;
    26     for(i=0;i<15;i++)
    27     {
    28         if(a[i]==1)
    29             printf("a");
    30         else
    31             printf("b");
    32     }
    33     printf("
    ");
    34     count++;
    35 }
    36 
    37 void sovle(char *a,int n,int shop,int flower)
    38 {
    39     if(n==14)//本来应是n==15(即a[i]从0~14,一共15次,遇店5次,遇花10次),可题目要求最后一次遇到的是花,
    40     {                     //所以只看前14次(即0~13,n==14时就返回了)
    41         if(shop==5 && flower==9) //这样就遇花9次(默认最后一次遇花,即a[14]=0)
    42         {
    43             if(wine(a))
    44             {
    45                 show(a);
    46             }
    47         }
    48         return;
    49     }
    50     a[n]=1;
    51     sovle(a,n+1,shop+1,flower);//a[n]=1时遇店
    52     a[n]=0;
    53     sovle(a,n+1,shop,flower+1);//a[n]=0时遇花
    54 }
    55 
    56 int main()
    57 {
    58     memset(a,0,sizeof(a));
    59     sovle(a,0,0,0);
    60     printf("%d
    ",count);
    61     return 0;
    62 }
  • 相关阅读:
    log4net编译后命名空间找不到的问题
    网络流建模汇总
    零散知识点收集
    CentOS7中“ONBOOT”已设置为“yes”但开机后ens33不会自启动解决方案
    Hanoi塔问题
    Mosquitto用户名密码配置
    Activiti5 数据库表结构
    皮尔森相关系数(Pearson correlation coefficient)
    如何用研发流程搞垮一个团队?
    Java 编程规范
  • 原文地址:https://www.cnblogs.com/youdiankun/p/3621784.html
Copyright © 2011-2022 走看看