zoukankan      html  css  js  c++  java
  • GHOJ 399 盒子与球

    题目描述

            n个有区别的球放到m个相同的盒子中,要求无一空盒,其不同的方案用S(m,n)表示,称为第二类Stirling数。

    输入输出格式

    输入格式

            一行,两个整数为n,m。(1≤n≤10,1≤m≤10)

    输出格式

            一行,表示其对应的方案数。

    输入输出样例

    输入样例

    3 2

    输出样例

    3

    题解

            假设已经放了$(i-1)$个球,总共有$j$个盒子。

            如果这些球放满了$(j-1)$个盒子,显然第$i$个球只能放在第$j$个盒子里。

            但如果这些球放满了$j$个盒子,那第$i$个球的放置就有$j$种选择。

            得出递推式为:$a[i][j]=a[i-1][j] imes j+a[i-1][j-1]$

    #include <iostream>
    #include <cmath>
    
    using namespace std;
    
    int n, m;
    int a[11][11];
    
    int main()
    {
        cin >> n >> m;
        a[1][1] = 1;
        for(int i = 2; i <= n; i++)
        {
            for(int j = 1; j <= min(i, m); j++)
            {
                a[i][j] = a[i - 1][j] * j + a[i - 1][j - 1];
            }
        }
        cout << a[n][m];
        return 0;
    }
    参考程序
  • 相关阅读:
    Camel routes in Spring config file
    Construct a basic automation test framework
    Java custom annotations
    Java Abstract Class
    Hibernate之mappedBy
    hibernate FetchType理解
    hibernate 双向 OneToOne fetchType lazy 问题
    日常总结
    hibernate二级缓存
    sql子查询和嵌套查询
  • 原文地址:https://www.cnblogs.com/kcn999/p/10661733.html
Copyright © 2011-2022 走看看