zoukankan      html  css  js  c++  java
  • YTU 2507: 李白打酒

    2507: 李白打酒

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 414  解决: 186

    题目描述

    话说大诗人李白,一生好饮。幸好他从不开车。 
    一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 
        无事街上走,提壶去打酒。 
        逢店加一倍,遇花喝一斗。 
    这一路上,他一共遇到店m次,遇到花n次,已知最后一次遇到的是花,他正好把酒喝光了。  
    请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。 
    例如:这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。

    输入

     输入一个整数T,包括T组数据,每组数据包括遇到店的次数m,花的次数n。

    输出

     对于每组数据,输出李白遇到店和花的可能次序的个数。

    样例输入

    1
    5 10

    样例输出

    14

    提示

    答案是个整数。

    迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……

    #include<stdio.h>
    int ab=0;
    void dnf(int arr,int m,int n, int a)
    {
        if(m == 0 && n == 0 ) if(a == 0 && arr == 0)ab++;
        if(m > 0)dnf(arr*2,m-1,n,1);
        if(arr > 0 && n > 0)dnf(arr-1,m,n-1,0);
    }
    int main()
    {
        int b,i,m,n;
        scanf("%d",&b);
        for(i=0; i<b; i++,ab=0)
        {
            scanf("%d%d",&m,&n);
            dnf(2,m,n,-1);
            printf("%d
    ",ab);
        }
        return 0;
    }

  • 相关阅读:
    1094 纪念品分组
    1803 凌乱的yyy
    1181 数列分段1
    1223排队接水
    1616 疯狂的采药(完全背包问题)
    1305 新二叉树
    1280 尼克的任务
    1020 导弹拦截
    快速学会如何使用Shiro
    mysql 让清空表且自增的id重新从0开始的命令
  • 原文地址:https://www.cnblogs.com/im0qianqian/p/5989495.html
Copyright © 2011-2022 走看看