zoukankan      html  css  js  c++  java
  • 【TFLSnoi李志帅】第⑨篇文章---递归经典

    制作不易,请多多照()指()点(

    老狮曰:做会这道题,你们的递归就没有问题了【狗头保命】

    1206:放苹果


    时间限制: 1000 ms         内存限制: 65536 KB
    提交数: 8429     通过数: 5362

    【题目描述】

    把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。

    【输入】

    第一行是测试数据的数目t(0≤t≤20)。以下每行均包含二个整数M和N,以空格分开。1≤M,N≤10。

    【输出】

    对输入的每组数据M和N,用一行输出相应的K。

    【输入样例】

    1
    7 3

    【输出样例】

    8



    ——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
    满分代码,抄吧请上眼

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 int n,x,y;//n是测试数据的数目,x是苹果数,y是盘子数
     4 long long jh(int x,int y)
     5 {
     6     if(x==0 || y==1)return 1;//递归边界
     7     if(x<y)return jh(x,x);//当苹果数小于盘子数时,就相当于把n个苹果放进n个盘子里
     8     if(x>=y)return jh(x,y-1)+jh(x-y,y);//当苹果数大于等于盘子数时,就相当于把x个苹果放进1——>y-1个盘子里的情况数之和,再加上把多余(x-y)苹果放进y个盘子里的情况数之和(直到x-y<=y)
     9 }
    10 int main()
    11 {
    12     cin>>n;
    13     while(n--)
    14     {
    15         cin>>x>>y;
    16         cout<<jh(x,y)<<endl;
    17     }
    18     return 0;
    19 }
  • 相关阅读:
    1、MyBatis 快速入门
    1、Spring Framework入门
    1、基本数据类型
    2020软件工程个人作业06
    谭山明月有秋水--事后诸葛亮
    谭山明月有秋水——项冲刺第七天
    谭山明月有秋水——冲刺第六天
    谭山明月有秋水——冲刺第一天
    谭山明月有秋水——冲刺第二天
    谭山明月有秋水——冲刺第三天
  • 原文地址:https://www.cnblogs.com/TFLSc1908lzs/p/13531416.html
Copyright © 2011-2022 走看看