• 【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 }
  • 相关阅读:
    老男孩Python全栈开发(92天全)视频教程 自学笔记08
    datagrid---columns列
    easyui---datagrid
    easyui---layout实战
    easyui---layout布局
    easyui---表单验证
    easyui---form表单_validatebox验证框
    easyui---easyloader.js
    easyui---基础组件:dialog
    easyui---基础组件:window
  • 原文地址:https://www.cnblogs.com/TFLSc1908lzs/p/13531416.html
Copyright © 2020-2023  润新知