zoukankan      html  css  js  c++  java
  • 分梨

    问题 G: 分梨

    时间限制: 1 Sec  内存限制: 32 MB
    [提交][状态][讨论版]

    题目描述

    zzq非常喜欢吃梨,有一天他得到了ACMCLUB送给他的一筐梨子。由于他比较仗义,就打算把梨子分给好朋友们吃。现在他要把M个梨子放到N个盘子里面(我们允许有的盘子为空),你能告诉zzq有多少种分法吗?(请注意,例如有三个盘子,我们将5,1,11,1,5,视为同一种分法)

    输入

    输入包含多组测试样例。每组输入的第一行是一个整数t
    接下来t行,每行输入两个整数MN,代表有M个梨和N个盘子。(MN均大于等于0

    输出

    对于每对输入的MN,输出有多少种方法。

    样例输入

    1

    7 3

    样例输出

    8

     

    题意概括:

      有m个梨和n个盘子,计算有多少种放法

    解题分析:

      用递归实现每一种情况的遍历,同时要注意5,1,11,5,1是一种放法,还有t是有多组的

    测试样例:

    3

    5 0

    1 2

    3 1

    2

    4 9

    6 6

    测试样例输出:

    0

    1

    1

    5

    11

     

    代码:

     1 #include<stdio.h>
     2 
     3 int count(int x, int y)
     4 {
     5     if(y == 1 || x == 0)
     6         return 1;
     7     if(x < y)
     8         return count(x, x);
     9     return count(x, y-1) + count(x-y, y);
    10 }
    11 
    12 int main()
    13 {
    14     int T,n, m;
    15     int a[10][10];
    16     while(scanf("%d", &T) != EOF){
    17         while(T--){
    18             scanf("%d%d", &m, &n);
    19             if(0 == n){
    20                 printf("0
    ");
    21                 continue;
    22             }
    23             printf("%d
    ", count(m, n));
    24         }
    25     }
    26     return 0;    
    27 } 
  • 相关阅读:
    python安装教程
    protobuf安装教程
    PlantUML安装教程
    题解-CF1140E Palindrome-less Arrays
    FST
    线段树
    题解-CF677D Vanya and Treasure
    最短路
    后缀自动机
    虚树
  • 原文地址:https://www.cnblogs.com/didideblog/p/7221522.html
Copyright © 2011-2022 走看看