首页 > 代码库 > 李白打酒

李白打酒

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

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

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

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

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

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

 

参考答案:
14

 

#include"stdio.h"

int a[30];
int num=0,i;

int ss(int n)
{
    int jiu=2;

    int d=0;

    int p=0;

    if(n==0)
    {
        for(i=0;i<15;i++)
        {
            if(a[i]==0)
            {
                p++;
                jiu--;

            }
            if(a[i]==1)
            {
                jiu*=2;
                d++;

            }
        }
        if(jiu==0&&p==10&&d==5&&a[14]==0)
            num++;
        return 1;
    }

    a[n-1]=0;
    ss(n-1);

    a[n-1]=1;
    ss(n-1);
}

int main()
{
    int n=15;
    ss(n);
    printf("%d",num);
    return 0;
}
View Code