• poj 1664 放苹果(递推)


    题目链接:http://poj.org/problem?

    id=1664

    放苹果
    Time Limit: 1000MS   Memory Limit: 10000K
    Total Submissions: 29293   Accepted: 18521

    Description

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

    Input

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

    Output

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

    Sample Input

    1
    7 3
    

    Sample Output

    8

    Source



    详见代码。
    /*看成是两种情况。第一种盘子不空,即每一个盘子至少放一个苹果
    另外一种是盘子有空的,即至少有一个盘子是空的
    转换成公式的话:m个苹果,n个盘子
    第一种:m-n个苹果 n个盘子
    另外一种:m个苹果 n-1个盘子(这里苹果还没有进行存放就先不剪掉,仅仅是单纯的处理掉至少一个盘子不放)*/
    
    #include <iostream>
    #include <cstdio>
    
    using namespace std;
    
    int fun(int m,int n)//m是苹果数,n是盘子数
    {
        if (m==0)
            return 1;
        if (n==1)
            return 1;
        int ans=0;
        if (m<n)
            ans+=fun(m,n-(n-m));
        else
            ans+=fun(m-n,n)+fun(m,n-1);
        return ans;
    }
    
    int main()
    {
        int t;
        scanf("%d",&t);
        while (t--)
        {
            int m,n;
            scanf("%d%d",&m,&n);
            printf ("%d
    ",fun(m,n));
    
        }
        return 0;
    }
    



  • 相关阅读:
    crash命令 —— mount
    crash命令 —— p
    crash命令 —— whatis
    crash命令 —— repeat
    crash命令 —— sym
    crash命令 —— foreach
    crash命令 —— ptob/btop
    kfence源码分析
    crash命令 —— pte
    crash命令 —— rd
  • 原文地址:https://www.cnblogs.com/yfceshi/p/7381357.html
Copyright © 2020-2023  润新知